[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 02/21] xenvif: convert to SAL 2.0 annotations


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
  • Date: Mon, 12 Oct 2026 12:23:14 +0200
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
  • Cc: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
  • Delivery-date: Mon, 12 Oct 2026 10:23:54 +0000
  • Feedback-id: default:8631fc262581453bbf619ec5b2062170:Sweego
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

Mechanical pass, no functional change.

Annotations:
  IN/OUT/IN OUT        -> _In_/_Out_/_Inout_
  __in/__out/__inout   -> same, _opt_ variants preserved
  trailing OPTIONAL    -> folded into the annotation (_In_opt_ &c)
  _Out_ on a T **      -> _Outptr_
  __drv_*/__checkReturn-> _IRQL_requires_*/_Dispatch_type_/_Check_return_

The old macros expand to nothing, so these parameters carried no
information to the analyser.  OPTIONAL as a trailing keyword is not
understood either, whereas _opt_ tells it NULL must be tested before
dereference.  _Outptr_ states that the callee writes the pointer,
which bare _Out_ does not.

Signed-off-by: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
---
 include/range_set_interface.h |  38 +--
 include/unplug_interface.h    |  20 +-
 include/vif_interface.h       | 158 +++++------
 src/xenvif/bus.c              |  64 ++---
 src/xenvif/bus.h              |   6 +-
 src/xenvif/checksum.c         |  78 +++---
 src/xenvif/checksum.h         |  50 ++--
 src/xenvif/controller.c       | 102 +++----
 src/xenvif/controller.h       |  52 ++--
 src/xenvif/driver.c           |  38 +--
 src/xenvif/fdo.c              | 504 +++++++++++++++++-----------------
 src/xenvif/fdo.h              |  66 ++---
 src/xenvif/frontend.c         | 252 ++++++++---------
 src/xenvif/frontend.h         | 104 +++----
 src/xenvif/link.c             |  14 +-
 src/xenvif/link.h             |   6 +-
 src/xenvif/mac.c              | 114 ++++----
 src/xenvif/mac.h              |  70 ++---
 src/xenvif/mrsw.h             |   6 +-
 src/xenvif/mutex.h            |  10 +-
 src/xenvif/names.h            |   8 +-
 src/xenvif/parse.c            | 110 ++++----
 src/xenvif/parse.h            |  20 +-
 src/xenvif/pdo.c              | 414 ++++++++++++++--------------
 src/xenvif/pdo.h              |  96 +++----
 src/xenvif/receiver.c         | 408 +++++++++++++--------------
 src/xenvif/receiver.h         |  64 ++---
 src/xenvif/settings.c         |  78 +++---
 src/xenvif/settings.h         |  20 +-
 src/xenvif/transmitter.c      | 382 +++++++++++++-------------
 src/xenvif/transmitter.h      |  80 +++---
 src/xenvif/vif.c              | 224 +++++++--------
 src/xenvif/vif.h              |  48 ++--
 33 files changed, 1852 insertions(+), 1852 deletions(-)

diff --git a/include/range_set_interface.h b/include/range_set_interface.h
index c45a161..dde916b 100644
--- a/include/range_set_interface.h
+++ b/include/range_set_interface.h
@@ -54,7 +54,7 @@ typedef struct _XENBUS_RANGE_SET    XENBUS_RANGE_SET, 
*PXENBUS_RANGE_SET;
 */  
 typedef NTSTATUS
 (*XENBUS_RANGE_SET_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_RANGE_SET_RELEASE
@@ -64,7 +64,7 @@ typedef NTSTATUS
 */  
 typedef VOID
 (*XENBUS_RANGE_SET_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_RANGE_SET_CREATE
@@ -76,9 +76,9 @@ typedef VOID
 */  
 typedef NTSTATUS
 (*XENBUS_RANGE_SET_CREATE)(
-    IN  PINTERFACE          Interface,
-    IN  const CHAR          *Name,
-    OUT PXENBUS_RANGE_SET   *RangeSet
+    _In_ PINTERFACE             Interface,
+    _In_ const CHAR             *Name,
+    _Outptr_ PXENBUS_RANGE_SET  *RangeSet
     );
 
 /*! \typedef XENBUS_RANGE_SET_PUT
@@ -91,10 +91,10 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_RANGE_SET_PUT)(
-    IN  PINTERFACE          Interface,
-    IN  PXENBUS_RANGE_SET   RangeSet,
-    IN  LONGLONG            Start,
-    IN  ULONGLONG           Count
+    _In_ PINTERFACE         Interface,
+    _In_ PXENBUS_RANGE_SET  RangeSet,
+    _In_ LONGLONG           Start,
+    _In_ ULONGLONG          Count
     );
 
 /*! \typedef XENBUS_RANGE_SET_POP
@@ -108,10 +108,10 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_RANGE_SET_POP)(
-    IN  PINTERFACE          Interface,
-    IN  PXENBUS_RANGE_SET   RangeSet,
-    IN  ULONGLONG           Count,
-    OUT PLONGLONG           Start
+    _In_ PINTERFACE         Interface,
+    _In_ PXENBUS_RANGE_SET  RangeSet,
+    _In_ ULONGLONG          Count,
+    _Out_ PLONGLONG         Start
     );
 
 /*! \typedef XENBUS_RANGE_SET_GET
@@ -124,10 +124,10 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_RANGE_SET_GET)(
-    IN  PINTERFACE          Interface,
-    IN  PXENBUS_RANGE_SET   RangeSet,
-    IN  LONGLONG            Start,
-    IN  ULONGLONG           Count
+    _In_ PINTERFACE         Interface,
+    _In_ PXENBUS_RANGE_SET  RangeSet,
+    _In_ LONGLONG           Start,
+    _In_ ULONGLONG          Count
     );
 
 /*! \typedef XENBUS_RANGE_SET_DESTROY
@@ -140,8 +140,8 @@ typedef NTSTATUS
 */  
 typedef VOID
 (*XENBUS_RANGE_SET_DESTROY)(
-    IN  PINTERFACE          Interface,
-    IN  PXENBUS_RANGE_SET   RangeSet
+    _In_ PINTERFACE         Interface,
+    _In_ PXENBUS_RANGE_SET  RangeSet
     );
 
 // {EE7E78A2-6847-48C5-B123-BB012F0EABF4}
diff --git a/include/unplug_interface.h b/include/unplug_interface.h
index dad3afc..5881ab6 100644
--- a/include/unplug_interface.h
+++ b/include/unplug_interface.h
@@ -48,7 +48,7 @@
 */  
 typedef NTSTATUS
 (*XENBUS_UNPLUG_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_UNPLUG_RELEASE
@@ -58,7 +58,7 @@ typedef NTSTATUS
 */  
 typedef VOID
 (*XENBUS_UNPLUG_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \enum _XENBUS_UNPLUG_DEVICE_TYPE
@@ -80,9 +80,9 @@ typedef enum _XENBUS_UNPLUG_DEVICE_TYPE {
 */  
 typedef VOID
 (*XENBUS_UNPLUG_REQUEST)(
-    IN  PINTERFACE                  Interface,
-    IN  XENBUS_UNPLUG_DEVICE_TYPE   Type,
-    IN  BOOLEAN                     Make
+    _In_ PINTERFACE                 Interface,
+    _In_ XENBUS_UNPLUG_DEVICE_TYPE  Type,
+    _In_ BOOLEAN                    Make
     );
 
 /*! \typedef XENBUS_UNPLUG_IS_REQUESTED
@@ -95,8 +95,8 @@ typedef VOID
 */
 typedef BOOLEAN
 (*XENBUS_UNPLUG_IS_REQUESTED)(
-    IN  PINTERFACE                  Interface,
-    IN  XENBUS_UNPLUG_DEVICE_TYPE   Type
+    _In_ PINTERFACE                 Interface,
+    _In_ XENBUS_UNPLUG_DEVICE_TYPE  Type
     );
 
 /*! \typedef XENBUS_UNPLUG_BOOT_EMULATED
@@ -106,7 +106,7 @@ typedef BOOLEAN
 */
 typedef BOOLEAN
 (*XENBUS_UNPLUG_BOOT_EMULATED)(
-    IN  PINTERFACE                  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_UNPLUG_REBOOT
@@ -117,8 +117,8 @@ typedef BOOLEAN
 */
 typedef VOID
 (*XENBUS_UNPLUG_REBOOT)(
-    IN  PINTERFACE                  Interface,
-    IN  PCHAR                       Module
+    _In_ PINTERFACE Interface,
+    _In_ PCHAR      Module
     );
 
 // {73db6517-3d06-4937-989f-199b7501e229}
diff --git a/include/vif_interface.h b/include/vif_interface.h
index a63abba..05d472e 100644
--- a/include/vif_interface.h
+++ b/include/vif_interface.h
@@ -461,7 +461,7 @@ union _XENVIF_VIF_CALLBACK_PARAMETERS_V10 {
 */  
 typedef NTSTATUS
 (*XENVIF_VIF_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENVIF_VIF_RELEASE
@@ -471,21 +471,21 @@ typedef NTSTATUS
 */  
 typedef VOID
 (*XENVIF_VIF_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 typedef VOID
 (*XENVIF_VIF_CALLBACK_V8)(
-    IN  PVOID                       Argument OPTIONAL,
-    IN  XENVIF_VIF_CALLBACK_TYPE    Type,
+    _In_opt_ PVOID                  Argument,
+    _In_ XENVIF_VIF_CALLBACK_TYPE   Type,
     ...
     );
 
 typedef VOID
 (*XENVIF_VIF_CALLBACK_V9)(
-    IN  PVOID                                       Argument OPTIONAL,
-    IN  XENVIF_VIF_CALLBACK_TYPE                    Type,
-    IN  union _XENVIF_VIF_CALLBACK_PARAMETERS_V9   *Parameters
+    _In_opt_ PVOID                                  Argument,
+    _In_ XENVIF_VIF_CALLBACK_TYPE                   Type,
+    _In_ union _XENVIF_VIF_CALLBACK_PARAMETERS_V9   *Parameters
     );
 
 typedef union _XENVIF_VIF_CALLBACK_PARAMETERS_V10 
XENVIF_VIF_CALLBACK_PARAMETERS, *PXENVIF_VIF_CALLBACK_PARAMETERS;
@@ -499,23 +499,23 @@ typedef union _XENVIF_VIF_CALLBACK_PARAMETERS_V10 
XENVIF_VIF_CALLBACK_PARAMETERS
 */
 typedef VOID
 (*XENVIF_VIF_CALLBACK)(
-    IN  PVOID                           Argument OPTIONAL,
-    IN  XENVIF_VIF_CALLBACK_TYPE        Type,
-    IN  PXENVIF_VIF_CALLBACK_PARAMETERS Parameters
+    _In_opt_ PVOID                          Argument,
+    _In_ XENVIF_VIF_CALLBACK_TYPE           Type,
+    _In_ PXENVIF_VIF_CALLBACK_PARAMETERS    Parameters
     );
 
 typedef NTSTATUS
 (*XENVIF_VIF_ENABLE_V8)(
-    IN  PINTERFACE              Interface,
-    IN  XENVIF_VIF_CALLBACK_V8  Callback,
-    IN  PVOID                   Argument OPTIONAL
+    _In_ PINTERFACE             Interface,
+    _In_ XENVIF_VIF_CALLBACK_V8 Callback,
+    _In_opt_ PVOID              Argument
     );
 
 typedef NTSTATUS
 (*XENVIF_VIF_ENABLE_V9)(
-    IN  PINTERFACE              Interface,
-    IN  XENVIF_VIF_CALLBACK_V9  Callback,
-    IN  PVOID                   Argument OPTIONAL
+    _In_ PINTERFACE             Interface,
+    _In_ XENVIF_VIF_CALLBACK_V9 Callback,
+    _In_opt_ PVOID              Argument
     );
 
 /*! \typedef XENVIF_VIF_ENABLE
@@ -530,9 +530,9 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENVIF_VIF_ENABLE)(
-    IN  PINTERFACE          Interface,
-    IN  XENVIF_VIF_CALLBACK Callback,
-    IN  PVOID               Argument OPTIONAL
+    _In_ PINTERFACE             Interface,
+    _In_ XENVIF_VIF_CALLBACK    Callback,
+    _In_opt_ PVOID              Argument
     );
 
 /*! \typedef XENVIF_VIF_DISABLE
@@ -545,7 +545,7 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENVIF_VIF_DISABLE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENVIF_VIF_QUERY_STATISTIC
@@ -562,9 +562,9 @@ typedef VOID
 */
 typedef NTSTATUS
 (*XENVIF_VIF_QUERY_STATISTIC)(
-    IN  PINTERFACE              Interface,
-    IN  XENVIF_VIF_STATISTIC    Index,
-    OUT PULONGLONG              Value
+    _In_ PINTERFACE             Interface,
+    _In_ XENVIF_VIF_STATISTIC   Index,
+    _Out_ PULONGLONG            Value
     );
 
 /*! \typedef XENVIF_VIF_QUERY_RING_COUNT
@@ -576,8 +576,8 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENVIF_VIF_QUERY_RING_COUNT)(
-    IN  PINTERFACE  Interface,
-    OUT PULONG      Count
+    _In_ PINTERFACE Interface,
+    _Out_ PULONG    Count
     );
 
 /*! \typedef XENVIF_VIF_UPDATE_HASH_MAPPING
@@ -591,9 +591,9 @@ typedef VOID
 */
 typedef NTSTATUS
 (*XENVIF_VIF_UPDATE_HASH_MAPPING)(
-    IN  PINTERFACE          Interface,
-    IN  PPROCESSOR_NUMBER   Mapping,
-    IN  ULONG               Size
+    _In_ PINTERFACE         Interface,
+    _In_ PPROCESSOR_NUMBER  Mapping,
+    _In_ ULONG              Size
     );
 
 /*! \typedef XENVIF_VIF_RECEIVER_RETURN_PACKET
@@ -605,8 +605,8 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENVIF_VIF_RECEIVER_RETURN_PACKET)(
-    IN  PINTERFACE  Interface,
-    IN  PVOID       Cookie
+    _In_ PINTERFACE Interface,
+    _In_ PVOID      Cookie
     );
 
 /*! \typedef XENVIF_VIF_TRANSMITTER_QUEUE_PACKET
@@ -625,16 +625,16 @@ typedef VOID
 */
 typedef NTSTATUS
 (*XENVIF_VIF_TRANSMITTER_QUEUE_PACKET)(
-    IN  PINTERFACE                  Interface,
-    IN  PMDL                        Mdl,
-    IN  ULONG                       Offset,
-    IN  ULONG                       Length,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  OffloadOptions,
-    IN  USHORT                      MaximumSegmentSize,
-    IN  USHORT                      TagControlInformation,
-    IN  PXENVIF_PACKET_HASH         Hash,
-    IN  BOOLEAN                     More,
-    IN  PVOID                       Cookie
+    _In_ PINTERFACE                 Interface,
+    _In_ PMDL                       Mdl,
+    _In_ ULONG                      Offset,
+    _In_ ULONG                      Length,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS OffloadOptions,
+    _In_ USHORT                     MaximumSegmentSize,
+    _In_ USHORT                     TagControlInformation,
+    _In_ PXENVIF_PACKET_HASH        Hash,
+    _In_ BOOLEAN                    More,
+    _In_ PVOID                      Cookie
     );
 
 /*! \typedef XENVIF_VIF_TRANSMITTER_QUERY_OFFLOAD_OPTIONS
@@ -646,8 +646,8 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENVIF_VIF_TRANSMITTER_QUERY_OFFLOAD_OPTIONS)(
-    IN  PINTERFACE                  Interface,
-    OUT PXENVIF_VIF_OFFLOAD_OPTIONS Options
+    _In_ PINTERFACE                     Interface,
+    _Out_ PXENVIF_VIF_OFFLOAD_OPTIONS   Options
     );
 
 /*! \typedef XENVIF_VIF_RECEIVER_SET_OFFLOAD_OPTIONS
@@ -659,8 +659,8 @@ typedef VOID
 */
 typedef VOID
 (*XENVIF_VIF_RECEIVER_SET_OFFLOAD_OPTIONS)(
-    IN  PINTERFACE                  Interface,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  Options
+    _In_ PINTERFACE                 Interface,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS Options
     );
 
 /*! \typedef XENVIF_VIF_RECEIVER_SET_BACKFILL_SIZE
@@ -672,8 +672,8 @@ typedef VOID
 */
 typedef VOID
 (*XENVIF_VIF_RECEIVER_SET_BACKFILL_SIZE)(
-    IN  PINTERFACE  Interface,
-    IN  ULONG       Size
+    _In_ PINTERFACE Interface,
+    _In_ ULONG      Size
     );
 
 /*! \typedef XENVIF_VIF_TRANSMITTER_QUERY_LARGE_PACKET_SIZE
@@ -686,9 +686,9 @@ typedef VOID
 */ 
 typedef VOID
 (*XENVIF_VIF_TRANSMITTER_QUERY_LARGE_PACKET_SIZE)(
-    IN  PINTERFACE  Interface,
-    IN  UCHAR       Version,
-    OUT PULONG      Size
+    _In_ PINTERFACE Interface,
+    _In_ UCHAR      Version,
+    _Out_ PULONG    Size
     );
 
 /*! \typedef XENVIF_VIF_TRANSMITTER_QUERY_RING_SIZE
@@ -700,8 +700,8 @@ typedef VOID
 */
 typedef VOID
 (*XENVIF_VIF_TRANSMITTER_QUERY_RING_SIZE)(
-    IN  PINTERFACE  Interface,
-    OUT PULONG      Size
+    _In_ PINTERFACE Interface,
+    _Out_ PULONG    Size
     );
 
 /*! \typedef XENVIF_VIF_RECEIVER_QUERY_RING_SIZE
@@ -713,8 +713,8 @@ typedef VOID
 */
 typedef VOID
 (*XENVIF_VIF_RECEIVER_QUERY_RING_SIZE)(
-    IN  PINTERFACE  Interface,
-    OUT PULONG      Size
+    _In_ PINTERFACE Interface,
+    _Out_ PULONG    Size
     );
 
 /*! \typedef XENVIF_VIF_RECEIVER_SET_HASH_ALGORITHM
@@ -726,8 +726,8 @@ typedef VOID
 */
 typedef NTSTATUS
 (*XENVIF_VIF_RECEIVER_SET_HASH_ALGORITHM)(
-    IN  PINTERFACE                      Interface,
-    IN  XENVIF_PACKET_HASH_ALGORITHM    Algorithm
+    _In_ PINTERFACE                     Interface,
+    _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm
     );
 
 /*! \typedef XENVIF_VIF_RECEIVER_QUERY_HASH_CAPABILITIES
@@ -741,7 +741,7 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENVIF_VIF_RECEIVER_QUERY_HASH_CAPABILITIES)(
-    IN  PINTERFACE  Interface,
+    _In_ PINTERFACE Interface,
     ...
     );
 
@@ -757,7 +757,7 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENVIF_VIF_RECEIVER_UPDATE_HASH_PARAMETERS)(
-    IN  PINTERFACE  Interface,
+    _In_ PINTERFACE Interface,
     ...
     );
 
@@ -773,10 +773,10 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENVIF_VIF_MAC_QUERY_STATE)(
-    IN  PINTERFACE                  Interface,
-    OUT PNET_IF_MEDIA_CONNECT_STATE MediaConnectState OPTIONAL,
-    OUT PULONG64                    LinkSpeed OPTIONAL,
-    OUT PNET_IF_MEDIA_DUPLEX_STATE  MediaDuplexState OPTIONAL
+    _In_ PINTERFACE                         Interface,
+    _Out_opt_ PNET_IF_MEDIA_CONNECT_STATE   MediaConnectState,
+    _Out_opt_ PULONG64                      LinkSpeed,
+    _Out_opt_ PNET_IF_MEDIA_DUPLEX_STATE    MediaDuplexState
     );
 
 /*! \typedef XENVIF_VIF_MAC_QUERY_MAXIMUM_FRAME_SIZE
@@ -788,8 +788,8 @@ typedef VOID
 */
 typedef VOID
 (*XENVIF_VIF_MAC_QUERY_MAXIMUM_FRAME_SIZE)(
-    IN  PINTERFACE  Interface,
-    OUT PULONG      Size
+    _In_ PINTERFACE Interface,
+    _Out_ PULONG    Size
     );
 
 /*! \typedef XENVIF_VIF_MAC_QUERY_PERMANENT_ADDRESS
@@ -800,8 +800,8 @@ typedef VOID
 */
 typedef VOID
 (*XENVIF_VIF_MAC_QUERY_PERMANENT_ADDRESS)(
-    IN  PINTERFACE          Interface,
-    OUT PETHERNET_ADDRESS   Address
+    _In_ PINTERFACE         Interface,
+    _Out_ PETHERNET_ADDRESS Address
     );
 
 /*! \typedef XENVIF_VIF_MAC_QUERY_CURRENT_ADDRESS
@@ -816,8 +816,8 @@ typedef VOID
 */
 typedef VOID
 (*XENVIF_VIF_MAC_QUERY_CURRENT_ADDRESS)(
-    IN  PINTERFACE          Interface,
-    OUT PETHERNET_ADDRESS   Address
+    _In_ PINTERFACE         Interface,
+    _Out_ PETHERNET_ADDRESS Address
     );
 
 /*! \typedef XENVIF_VIF_MAC_QUERY_MULTICAST_ADDRESSES
@@ -833,9 +833,9 @@ typedef VOID
 */
 typedef NTSTATUS
 (*XENVIF_VIF_MAC_QUERY_MULTICAST_ADDRESSES)(
-    IN      PINTERFACE          Interface,
-    OUT     PETHERNET_ADDRESS   Address OPTIONAL,
-    IN OUT  PULONG              Count
+    _In_ PINTERFACE             Interface,
+    _Out_opt_ PETHERNET_ADDRESS Address,
+    _Inout_ PULONG              Count
     );
 
 /*! \typedef XENVIF_VIF_MAC_SET_MULTICAST_ADDRESSES
@@ -850,9 +850,9 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENVIF_VIF_MAC_SET_MULTICAST_ADDRESSES)(
-    IN  PINTERFACE          Interface,
-    IN  PETHERNET_ADDRESS   Address OPTIONAL,
-    IN  ULONG               Count
+    _In_ PINTERFACE             Interface,
+    _In_opt_ PETHERNET_ADDRESS  Address,
+    _In_ ULONG                  Count
     );
 
 /*! \typedef XENVIF_VIF_MAC_SET_FILTER_LEVEL
@@ -865,9 +865,9 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENVIF_VIF_MAC_SET_FILTER_LEVEL)(
-    IN  PINTERFACE              Interface,
-    IN  ETHERNET_ADDRESS_TYPE   Type,
-    IN  XENVIF_MAC_FILTER_LEVEL Level
+    _In_ PINTERFACE                 Interface,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _In_ XENVIF_MAC_FILTER_LEVEL    Level
     );
 
 /*! \typedef XENVIF_VIF_MAC_QUERY_FILTER_LEVEL
@@ -880,9 +880,9 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENVIF_VIF_MAC_QUERY_FILTER_LEVEL)(
-    IN  PINTERFACE                  Interface,
-    IN  ETHERNET_ADDRESS_TYPE       Type,
-    OUT PXENVIF_MAC_FILTER_LEVEL    Level
+    _In_ PINTERFACE                 Interface,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _Out_ PXENVIF_MAC_FILTER_LEVEL  Level
     );
 
 // {76F279CD-CA11-418B-92E8-C57F77DE0E2E}
diff --git a/src/xenvif/bus.c b/src/xenvif/bus.c
index 0c91148..4017e7c 100644
--- a/src/xenvif/bus.c
+++ b/src/xenvif/bus.c
@@ -51,7 +51,7 @@ typedef struct _XENVIF_BUS_CONTEXT {
 
 static FORCEINLINE PVOID
 __BusAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, BUS_TAG);
@@ -59,7 +59,7 @@ __BusAllocate(
 
 static FORCEINLINE VOID
 __BusFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, BUS_TAG);
@@ -67,7 +67,7 @@ __BusFree(
 
 static VOID
 BusReference(
-    IN  PVOID           _Context
+    _In_ PVOID          _Context
     )
 {
     PXENVIF_BUS_CONTEXT Context = _Context;
@@ -77,7 +77,7 @@ BusReference(
 
 static VOID
 BusDereference(
-    IN  PVOID           _Context
+    _In_ PVOID          _Context
     )
 {
     PXENVIF_BUS_CONTEXT Context = _Context;
@@ -87,14 +87,14 @@ BusDereference(
 }
 
 static
-__drv_functionClass(TRANSLATE_BUS_ADDRESS)
+_Function_class_(TRANSLATE_BUS_ADDRESS)
 BOOLEAN
 BusTranslateAddress(
-    IN      PVOID               _Context,
-    IN      PHYSICAL_ADDRESS    BusAddress,
-    IN      ULONG               Length,
-    IN OUT  PULONG              AddressSpace,
-    OUT     PPHYSICAL_ADDRESS   TranslatedAddress
+    _In_ PVOID                  _Context,
+    _In_ PHYSICAL_ADDRESS       BusAddress,
+    _In_ ULONG                  Length,
+    _Inout_ PULONG              AddressSpace,
+    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
     )
 {
     PXENVIF_BUS_CONTEXT         Context = _Context;
@@ -107,15 +107,15 @@ BusTranslateAddress(
 }
 
 static
-__drv_functionClass(GET_DMA_ADAPTER)
+_Function_class_(GET_DMA_ADAPTER)
 PDMA_ADAPTER
 BusGetDmaAdapter(
-    IN  PVOID               _Context,
-    IN  PDEVICE_DESCRIPTION DeviceDescriptor,
-    OUT PULONG              NumberOfMapRegisters
+    _In_ PVOID                  _Context,
+    _In_ PDEVICE_DESCRIPTION    DeviceDescriptor,
+    _Out_ PULONG                NumberOfMapRegisters
     )
 {
-    PXENVIF_BUS_CONTEXT     Context = _Context;
+    PXENVIF_BUS_CONTEXT         Context = _Context;
 
     return PdoGetDmaAdapter(Context->Pdo,
                             DeviceDescriptor,
@@ -123,14 +123,14 @@ BusGetDmaAdapter(
 }
 
 static
-__drv_functionClass(GET_SET_DEVICE_DATA)
+_Function_class_(GET_SET_DEVICE_DATA)
 ULONG
 BusSetData(
-    IN  PVOID           _Context,
-    IN  ULONG           DataType,
-    IN  PVOID           Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length
+    _In_ PVOID          _Context,
+    _In_ ULONG          DataType,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Offset,
+    _In_ ULONG          Length
     )
 {
     PXENVIF_BUS_CONTEXT Context = _Context;
@@ -143,14 +143,14 @@ BusSetData(
 }
 
 static
-__drv_functionClass(GET_SET_DEVICE_DATA)
+_Function_class_(GET_SET_DEVICE_DATA)
 ULONG
 BusGetData(
-    IN  PVOID           _Context,
-    IN  ULONG           DataType,
-    IN  PVOID           Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length
+    _In_ PVOID          _Context,
+    _In_ ULONG          DataType,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Offset,
+    _In_ ULONG          Length
     )
 {
     PXENVIF_BUS_CONTEXT Context = _Context;
@@ -164,12 +164,12 @@ BusGetData(
 
 NTSTATUS
 BusInitialize(
-    IN  PXENVIF_PDO             Pdo,
-    OUT PBUS_INTERFACE_STANDARD Interface
+    _In_ PXENVIF_PDO                Pdo,
+    _Out_ PBUS_INTERFACE_STANDARD   Interface
     )
 {
-    PXENVIF_BUS_CONTEXT         Context;
-    NTSTATUS                    status;
+    PXENVIF_BUS_CONTEXT             Context;
+    NTSTATUS                        status;
 
     Trace("====>\n");
 
@@ -203,7 +203,7 @@ fail1:
 
 VOID
 BusTeardown(
-    IN OUT  PBUS_INTERFACE_STANDARD Interface
+    _Inout_ PBUS_INTERFACE_STANDARD Interface
     )
 {
     PXENVIF_BUS_CONTEXT             Context = Interface->Context;
diff --git a/src/xenvif/bus.h b/src/xenvif/bus.h
index e8dc5e5..aa9d8e0 100644
--- a/src/xenvif/bus.h
+++ b/src/xenvif/bus.h
@@ -40,13 +40,13 @@
 
 extern NTSTATUS
 BusInitialize(
-    IN  PXENVIF_PDO             Pdo,
-    OUT PBUS_INTERFACE_STANDARD Interface
+    _In_ PXENVIF_PDO                Pdo,
+    _Out_ PBUS_INTERFACE_STANDARD   Interface
     );
 
 extern VOID
 BusTeardown(
-    IN OUT  PBUS_INTERFACE_STANDARD Interface
+    _Inout_ PBUS_INTERFACE_STANDARD Interface
     );
 
 #endif  // _XENVIF_BUS_H
diff --git a/src/xenvif/checksum.c b/src/xenvif/checksum.c
index a7181c6..eb2ed8d 100644
--- a/src/xenvif/checksum.c
+++ b/src/xenvif/checksum.c
@@ -47,9 +47,9 @@
 #if !defined(_M_X64)
 VOID
 AccumulateChecksum(
-    IN OUT  PULONG  Accumulator,
-    IN      PUCHAR  BaseVa,
-    IN      ULONG   ByteCount
+    _Inout_ PULONG  Accumulator,
+    _In_ PUCHAR     BaseVa,
+    _In_ ULONG      ByteCount
     )
 {
     ULONG           Current;
@@ -76,8 +76,8 @@ AccumulateChecksum(
 
 BOOLEAN
 ChecksumVerify(
-    IN  USHORT  Calculated,
-    IN  USHORT  Embedded
+    _In_ USHORT Calculated,
+    _In_ USHORT Embedded
     )
 {
     ULONG       Accumulator = ~Calculated;
@@ -96,10 +96,10 @@ ChecksumVerify(
 
 static FORCEINLINE USHORT
 __ChecksumIpVersion4PseudoHeader(
-    IN  PIPV4_ADDRESS   SourceAddress,
-    IN  PIPV4_ADDRESS   DestinationAddress,
-    IN  USHORT          Length,
-    IN  UCHAR           Protocol
+    _In_ PIPV4_ADDRESS  SourceAddress,
+    _In_ PIPV4_ADDRESS  DestinationAddress,
+    _In_ USHORT         Length,
+    _In_ UCHAR          Protocol
     )
 {
     IPV4_PSEUDO_HEADER  Header;
@@ -123,10 +123,10 @@ __ChecksumIpVersion4PseudoHeader(
 
 USHORT
 ChecksumIpVersion4PseudoHeader(
-    IN  PIPV4_ADDRESS   SourceAddress,
-    IN  PIPV4_ADDRESS   DestinationAddress,
-    IN  USHORT          Length,
-    IN  UCHAR           Protocol
+    _In_ PIPV4_ADDRESS  SourceAddress,
+    _In_ PIPV4_ADDRESS  DestinationAddress,
+    _In_ USHORT         Length,
+    _In_ UCHAR          Protocol
     )
 {
     return __ChecksumIpVersion4PseudoHeader(SourceAddress,
@@ -137,10 +137,10 @@ ChecksumIpVersion4PseudoHeader(
 
 static FORCEINLINE USHORT
 __ChecksumIpVersion6PseudoHeader(
-    IN  PIPV6_ADDRESS   SourceAddress,
-    IN  PIPV6_ADDRESS   DestinationAddress,
-    IN  USHORT          Length,
-    IN  UCHAR           Protocol
+    _In_ PIPV6_ADDRESS  SourceAddress,
+    _In_ PIPV6_ADDRESS  DestinationAddress,
+    _In_ USHORT         Length,
+    _In_ UCHAR          Protocol
     )
 {
     IPV6_PSEUDO_HEADER  Header;
@@ -164,10 +164,10 @@ __ChecksumIpVersion6PseudoHeader(
 
 USHORT
 ChecksumIpVersion6PseudoHeader(
-    IN  PIPV6_ADDRESS   SourceAddress,
-    IN  PIPV6_ADDRESS   DestinationAddress,
-    IN  USHORT          Length,
-    IN  UCHAR           Protocol
+    _In_ PIPV6_ADDRESS  SourceAddress,
+    _In_ PIPV6_ADDRESS  DestinationAddress,
+    _In_ USHORT         Length,
+    _In_ UCHAR          Protocol
     )
 {
     return __ChecksumIpVersion6PseudoHeader(SourceAddress,
@@ -178,13 +178,13 @@ ChecksumIpVersion6PseudoHeader(
 
 USHORT
 ChecksumPseudoHeader(
-    IN  PUCHAR              StartVa,
-    IN  PXENVIF_PACKET_INFO Info
+    _In_ PUCHAR                 StartVa,
+    _In_ PXENVIF_PACKET_INFO    Info
     )
 {
-    PIP_HEADER              Header;
-    UCHAR                   Protocol;
-    USHORT                  Checksum;
+    PIP_HEADER                  Header;
+    UCHAR                       Protocol;
+    USHORT                      Checksum;
 
     ASSERT(Info->IpHeader.Length != 0);
     Header = (PIP_HEADER)(StartVa + Info->IpHeader.Offset);
@@ -226,13 +226,13 @@ ChecksumPseudoHeader(
 
 USHORT
 ChecksumIpVersion4Header(
-    IN  PUCHAR              StartVa,
-    IN  PXENVIF_PACKET_INFO Info
+    _In_ PUCHAR                 StartVa,
+    _In_ PXENVIF_PACKET_INFO    Info
     )
 {
-    ULONG                   Accumulator;
-    PIPV4_HEADER            Header;
-    USHORT                  Saved;
+    ULONG                       Accumulator;
+    PIPV4_HEADER                Header;
+    USHORT                      Saved;
 
     ASSERT(Info->IpHeader.Length != 0);
     Header = (PIPV4_HEADER)(StartVa + Info->IpHeader.Offset);
@@ -262,10 +262,10 @@ ChecksumIpVersion4Header(
 
 USHORT
 ChecksumTcpPacket(
-    IN  PUCHAR                  StartVa,
-    IN  PXENVIF_PACKET_INFO     Info,
-    IN  USHORT                  PseudoHeaderChecksum,
-    IN  PXENVIF_PACKET_PAYLOAD  Payload
+    _In_ PUCHAR                 StartVa,
+    _In_ PXENVIF_PACKET_INFO    Info,
+    _In_ USHORT                 PseudoHeaderChecksum,
+    _In_ PXENVIF_PACKET_PAYLOAD Payload
     )
 {
     ULONG                       Accumulator;
@@ -347,10 +347,10 @@ ChecksumTcpPacket(
 
 USHORT
 ChecksumUdpPacket(
-    IN  PUCHAR                  StartVa,
-    IN  PXENVIF_PACKET_INFO     Info,
-    IN  USHORT                  PseudoHeaderChecksum,
-    IN  PXENVIF_PACKET_PAYLOAD  Payload
+    _In_ PUCHAR                 StartVa,
+    _In_ PXENVIF_PACKET_INFO    Info,
+    _In_ USHORT                 PseudoHeaderChecksum,
+    _In_ PXENVIF_PACKET_PAYLOAD Payload
     )
 {
     ULONG                       Accumulator;
diff --git a/src/xenvif/checksum.h b/src/xenvif/checksum.h
index ec9c384..5cd23a8 100644
--- a/src/xenvif/checksum.h
+++ b/src/xenvif/checksum.h
@@ -37,59 +37,59 @@
 
 extern VOID
 AccumulateChecksum(
-    IN OUT  PULONG  Accumulator,
-    IN      PVOID   MappedSystemVa,
-    IN      ULONG   ByteCount
+    _Inout_ PULONG  Accumulator,
+    _In_ PVOID      MappedSystemVa,
+    _In_ ULONG      ByteCount
     );
 
 extern USHORT
 ChecksumIpVersion4Header(
-    IN  PUCHAR              StartVa,
-    IN  PXENVIF_PACKET_INFO Info
+    _In_ PUCHAR                 StartVa,
+    _In_ PXENVIF_PACKET_INFO    Info
     );
 
 extern USHORT
 ChecksumIpVersion4PseudoHeader(
-    IN  PIPV4_ADDRESS   SourceAddress,
-    IN  PIPV4_ADDRESS   DestinationAddress,
-    IN  USHORT          Length,
-    IN  UCHAR           Protocol
+    _In_ PIPV4_ADDRESS  SourceAddress,
+    _In_ PIPV4_ADDRESS  DestinationAddress,
+    _In_ USHORT         Length,
+    _In_ UCHAR          Protocol
     );
 
 extern USHORT
 ChecksumIpVersion6PseudoHeader(
-    IN  PIPV6_ADDRESS   SourceAddress,
-    IN  PIPV6_ADDRESS   DestinationAddress,
-    IN  USHORT          Length,
-    IN  UCHAR           Protocol
+    _In_ PIPV6_ADDRESS  SourceAddress,
+    _In_ PIPV6_ADDRESS  DestinationAddress,
+    _In_ USHORT         Length,
+    _In_ UCHAR          Protocol
     );
 
 extern USHORT
 ChecksumPseudoHeader(
-    IN  PUCHAR              StartVa,
-    IN  PXENVIF_PACKET_INFO Info
+    _In_ PUCHAR                 StartVa,
+    _In_ PXENVIF_PACKET_INFO    Info
     );
 
 extern USHORT
 ChecksumTcpPacket(
-    IN  PUCHAR                  StartVa,
-    IN  PXENVIF_PACKET_INFO     Info,
-    IN  USHORT                  PseudoHeaderChecksum,
-    IN  PXENVIF_PACKET_PAYLOAD  Payload
+    _In_ PUCHAR                 StartVa,
+    _In_ PXENVIF_PACKET_INFO    Info,
+    _In_ USHORT                 PseudoHeaderChecksum,
+    _In_ PXENVIF_PACKET_PAYLOAD Payload
     );
 
 extern USHORT
 ChecksumUdpPacket(
-    IN  PUCHAR                  StartVa,
-    IN  PXENVIF_PACKET_INFO     Info,
-    IN  USHORT                  PseudoHeaderChecksum,
-    IN  PXENVIF_PACKET_PAYLOAD  Payload
+    _In_ PUCHAR                 StartVa,
+    _In_ PXENVIF_PACKET_INFO    Info,
+    _In_ USHORT                 PseudoHeaderChecksum,
+    _In_ PXENVIF_PACKET_PAYLOAD Payload
     );
 
 extern BOOLEAN
 ChecksumVerify(
-    IN  USHORT  Calculated,
-    IN  USHORT  Embedded
+    _In_ USHORT Calculated,
+    _In_ USHORT Embedded
     );
 
 #endif  // _XENVIF_CHECKSUM_H
diff --git a/src/xenvif/controller.c b/src/xenvif/controller.c
index dac6952..4accb49 100644
--- a/src/xenvif/controller.c
+++ b/src/xenvif/controller.c
@@ -56,7 +56,7 @@
 extern ULONG
 NTAPI
 RtlRandomEx (
-    __inout PULONG Seed
+    _Inout_ PULONG  Seed
     );
 
 #define MAXNAMELEN  128
@@ -87,7 +87,7 @@ struct _XENVIF_CONTROLLER {
 
 static FORCEINLINE PVOID
 __ControllerAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, XENVIF_CONTROLLER_TAG);
@@ -95,16 +95,16 @@ __ControllerAllocate(
 
 static FORCEINLINE VOID
 __ControllerFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, XENVIF_CONTROLLER_TAG);
 }
 
 static FORCEINLINE VOID
-__drv_requiresIRQL(DISPATCH_LEVEL)
+_IRQL_requires_(DISPATCH_LEVEL)
 __ControllerAcquireLock(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -113,9 +113,9 @@ __ControllerAcquireLock(
 }
 
 static FORCEINLINE VOID
-__drv_requiresIRQL(DISPATCH_LEVEL)
+_IRQL_requires_(DISPATCH_LEVEL)
 __ControllerReleaseLock(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     KeReleaseSpinLockFromDpcLevel(&Controller->Lock);
@@ -125,7 +125,7 @@ _Acquires_nonreentrant_lock_(Controller)
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 ControllerAcquireLock(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     __ControllerAcquireLock(Controller);
@@ -135,7 +135,7 @@ _Requires_lock_held_(Controller)
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 ControllerReleaseLock(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     __ControllerReleaseLock(Controller);
@@ -144,7 +144,7 @@ ControllerReleaseLock(
 _IRQL_requires_min_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ControllerSend(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     (VOID) XENBUS_EVTCHN(Send,
@@ -154,7 +154,7 @@ __ControllerSend(
 
 VOID
 ControllerPoll(
-    IN  PXENVIF_CONTROLLER          Controller
+    _In_ PXENVIF_CONTROLLER         Controller
     )
 {
     RING_IDX                        rsp_prod;
@@ -185,11 +185,11 @@ ControllerPoll(
 _IRQL_requires_min_(DISPATCH_LEVEL)
 static NTSTATUS
 ControllerPutRequest(
-    IN  PXENVIF_CONTROLLER          Controller,
-    IN  USHORT                      Type,
-    IN  ULONG                       Data0,
-    IN  ULONG                       Data1,
-    IN  ULONG                       Data2
+    _In_ PXENVIF_CONTROLLER         Controller,
+    _In_ USHORT                     Type,
+    _In_ ULONG                      Data0,
+    _In_ ULONG                      Data1,
+    _In_ ULONG                      Data2
     )
 {
     RING_IDX                        req_prod;
@@ -259,8 +259,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 ControllerGetResponse(
-    IN  PXENVIF_CONTROLLER          Controller,
-    OUT PULONG                      Data OPTIONAL
+    _In_ PXENVIF_CONTROLLER         Controller,
+    _Out_opt_ PULONG                Data
     )
 {
     LARGE_INTEGER                   PollTimeout;
@@ -354,8 +354,8 @@ KSERVICE_ROUTINE    ControllerEvtchnCallback;
 _Use_decl_annotations_
 BOOLEAN
 ControllerEvtchnCallback(
-    IN  PKINTERRUPT             InterruptObject,
-    IN  PVOID                   Argument
+    _In_ PKINTERRUPT            InterruptObject,
+    _In_ PVOID                  Argument
     )
 {
     PXENVIF_CONTROLLER          Controller = Argument;
@@ -371,8 +371,8 @@ ControllerEvtchnCallback(
 
 static VOID
 ControllerDebugCallback(
-    IN  PVOID           Argument,
-    IN  BOOLEAN         Crashing
+    _In_ PVOID      Argument,
+    _In_ BOOLEAN    Crashing
     )
 {
     UNREFERENCED_PARAMETER(Argument);
@@ -382,13 +382,13 @@ ControllerDebugCallback(
 _IRQL_requires_(PASSIVE_LEVEL)
 NTSTATUS
 ControllerInitialize(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PXENVIF_CONTROLLER  *Controller
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _Outptr_ PXENVIF_CONTROLLER *Controller
     )
 {
-    LARGE_INTEGER           Now;
-    ULONG                   Seed;
-    NTSTATUS                status;
+    LARGE_INTEGER               Now;
+    ULONG                       Seed;
+    NTSTATUS                    status;
 
     *Controller = __ControllerAllocate(sizeof (XENVIF_CONTROLLER));
 
@@ -428,7 +428,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerConnect(
-    IN  PXENVIF_CONTROLLER      Controller
+    _In_ PXENVIF_CONTROLLER     Controller
     )
 {
     PXENVIF_FRONTEND            Frontend;
@@ -636,8 +636,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerStoreWrite(
-    IN  PXENVIF_CONTROLLER          Controller,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_CONTROLLER         Controller,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -689,7 +689,7 @@ fail1:
 
 VOID
 ControllerEnable(
-    IN  PXENVIF_CONTROLLER      Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     __ControllerAcquireLock(Controller);
@@ -703,7 +703,7 @@ ControllerEnable(
 
 VOID
 ControllerDisable(
-    IN  PXENVIF_CONTROLLER      Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     __ControllerAcquireLock(Controller);
@@ -718,7 +718,7 @@ ControllerDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ControllerDisconnect(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     Trace("====>\n");
@@ -781,7 +781,7 @@ done:
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 ControllerTeardown(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -812,8 +812,8 @@ ControllerTeardown(
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashAlgorithm(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  ULONG               Algorithm
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ ULONG              Algorithm
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -853,8 +853,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerGetHashFlags(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  PULONG              Flags
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ PULONG             Flags
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -894,8 +894,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashFlags(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  ULONG               Flags
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ ULONG              Flags
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -935,9 +935,9 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashKey(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  PUCHAR              Key,
-    IN  ULONG               Size
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ PUCHAR             Key,
+    _In_ ULONG              Size
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -1030,8 +1030,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerGetHashMappingSize(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  PULONG              Size
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ PULONG             Size
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -1071,8 +1071,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashMappingSize(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  ULONG               Size
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ ULONG              Size
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -1112,10 +1112,10 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashMapping(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  PULONG              Mapping,
-    IN  ULONG               Size,
-    IN  ULONG               Offset
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ PULONG             Mapping,
+    _In_ ULONG              Size,
+    _In_ ULONG              Offset
     )
 {
     PXENVIF_FRONTEND        Frontend;
diff --git a/src/xenvif/controller.h b/src/xenvif/controller.h
index 18e09b7..f920397 100644
--- a/src/xenvif/controller.h
+++ b/src/xenvif/controller.h
@@ -44,95 +44,95 @@ typedef struct _XENVIF_CONTROLLER XENVIF_CONTROLLER, 
*PXENVIF_CONTROLLER;
 _IRQL_requires_(PASSIVE_LEVEL)
 extern NTSTATUS
 ControllerInitialize(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PXENVIF_CONTROLLER  *Controller
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _Outptr_ PXENVIF_CONTROLLER *Controller
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerConnect(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerStoreWrite(
-    IN  PXENVIF_CONTROLLER          Controller,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_CONTROLLER         Controller,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     );
 
 extern VOID
 ControllerEnable(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     );
 
 extern VOID
 ControllerDisable(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ControllerDisconnect(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     );
 
 _IRQL_requires_(PASSIVE_LEVEL)
 extern VOID
 ControllerTeardown(
-    IN  PXENVIF_CONTROLLER  Controller
+    _In_ PXENVIF_CONTROLLER Controller
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashAlgorithm(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  ULONG               Algorithm
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ ULONG              Algorithm
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerGetHashFlags(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  PULONG              Flags
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ PULONG             Flags
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashFlags(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  ULONG               Flags
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ ULONG              Flags
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashKey(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  PUCHAR              Key,
-    IN  ULONG               Size
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ PUCHAR             Key,
+    _In_ ULONG              Size
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerGetHashMappingSize(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  PULONG              Size
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ PULONG             Size
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashMappingSize(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  ULONG               Size
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ ULONG              Size
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashMapping(
-    IN  PXENVIF_CONTROLLER  Controller,
-    IN  PULONG              Mapping,
-    IN  ULONG               Size,
-    IN  ULONG               Offset
+    _In_ PXENVIF_CONTROLLER Controller,
+    _In_ PULONG             Mapping,
+    _In_ ULONG              Size,
+    _In_ ULONG              Offset
     );
 
 
diff --git a/src/xenvif/driver.c b/src/xenvif/driver.c
index 438c21a..614503b 100644
--- a/src/xenvif/driver.c
+++ b/src/xenvif/driver.c
@@ -73,7 +73,7 @@ DriverSafeMode(
 
 static FORCEINLINE VOID
 __DriverSetDriverObject(
-    IN  PDRIVER_OBJECT  DriverObject
+    _In_ PDRIVER_OBJECT DriverObject
     )
 {
     Driver.DriverObject = DriverObject;
@@ -97,7 +97,7 @@ DriverGetDriverObject(
 
 static FORCEINLINE VOID
 __DriverSetParametersKey(
-    IN  HANDLE  Key
+    _In_ HANDLE Key
     )
 {
     Driver.ParametersKey = Key;
@@ -121,7 +121,7 @@ DriverGetParametersKey(
 
 static FORCEINLINE VOID
 __DriverSetAddressesKey(
-    IN  HANDLE  Key
+    _In_ HANDLE Key
     )
 {
     Driver.AddressesKey = Key;
@@ -145,7 +145,7 @@ DriverGetAddressesKey(
 
 static FORCEINLINE VOID
 __DriverSetSettingsKey(
-    IN  HANDLE  Key
+    _In_ HANDLE Key
     )
 {
     Driver.SettingsKey = Key;
@@ -171,7 +171,7 @@ DRIVER_UNLOAD       DriverUnload;
 
 VOID
 DriverUnload(
-    IN  PDRIVER_OBJECT  DriverObject
+    _In_ PDRIVER_OBJECT DriverObject
     )
 {
     HANDLE              SettingsKey;
@@ -219,8 +219,8 @@ DRIVER_ADD_DEVICE   AddDevice;
 
 NTSTATUS
 AddDevice(
-    IN  PDRIVER_OBJECT  DriverObject,
-    IN  PDEVICE_OBJECT  DeviceObject
+    _In_ PDRIVER_OBJECT DriverObject,
+    _In_ PDEVICE_OBJECT DeviceObject
     )
 {
     NTSTATUS            status;
@@ -247,8 +247,8 @@ DRIVER_DISPATCH Dispatch;
 
 NTSTATUS 
 Dispatch(
-    IN PDEVICE_OBJECT   DeviceObject,
-    IN PIRP             Irp
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp
     )
 {
     PXENVIF_DX          Dx;
@@ -304,16 +304,16 @@ DRIVER_INITIALIZE   DriverEntry;
 
 NTSTATUS
 DriverEntry(
-    IN  PDRIVER_OBJECT  DriverObject,
-    IN  PUNICODE_STRING RegistryPath
+    _In_ PDRIVER_OBJECT     DriverObject,
+    _In_ PUNICODE_STRING    RegistryPath
     )
 {
-    HANDLE              ServiceKey;
-    HANDLE              ParametersKey;
-    HANDLE              AddressesKey;
-    HANDLE              SettingsKey;
-    ULONG               Index;
-    NTSTATUS            status;
+    HANDLE                  ServiceKey;
+    HANDLE                  ParametersKey;
+    HANDLE                  AddressesKey;
+    HANDLE                  SettingsKey;
+    ULONG                   Index;
+    NTSTATUS                status;
 
     ASSERT3P(__DriverGetDriverObject(), ==, NULL);
 
@@ -375,8 +375,8 @@ DriverEntry(
     DriverObject->DriverExtension->AddDevice = AddDevice;
 
     for (Index = 0; Index <= IRP_MJ_MAXIMUM_FUNCTION; Index++) {
-#pragma prefast(suppress:28169) // No __drv_dispatchType annotation
-#pragma prefast(suppress:28168) // No matching __drv_dispatchType annotation 
for IRP_MJ_CREATE
+#pragma prefast(suppress:28169) // No _Dispatch_type_ annotation
+#pragma prefast(suppress:28168) // No matching _Dispatch_type_ annotation for 
IRP_MJ_CREATE
         DriverObject->MajorFunction[Index] = Dispatch;
     }
 
diff --git a/src/xenvif/fdo.c b/src/xenvif/fdo.c
index 6c4c945..8d20c86 100644
--- a/src/xenvif/fdo.c
+++ b/src/xenvif/fdo.c
@@ -110,7 +110,7 @@ struct _XENVIF_FDO {
 
 static FORCEINLINE PVOID
 __FdoAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, FDO_POOL);
@@ -118,7 +118,7 @@ __FdoAllocate(
 
 static FORCEINLINE VOID
 __FdoFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, FDO_POOL);
@@ -126,8 +126,8 @@ __FdoFree(
 
 static FORCEINLINE VOID
 __FdoSetDevicePnpState(
-    IN  PXENVIF_FDO         Fdo,
-    IN  DEVICE_PNP_STATE    State
+    _In_ PXENVIF_FDO        Fdo,
+    _In_ DEVICE_PNP_STATE   State
     )
 {
     PXENVIF_DX              Dx = Fdo->Dx;
@@ -141,8 +141,8 @@ __FdoSetDevicePnpState(
 
 static FORCEINLINE VOID
 __FdoRestoreDevicePnpState(
-    IN  PXENVIF_FDO         Fdo,
-    IN  DEVICE_PNP_STATE    State
+    _In_ PXENVIF_FDO        Fdo,
+    _In_ DEVICE_PNP_STATE   State
     )
 {
     PXENVIF_DX              Dx = Fdo->Dx;
@@ -153,7 +153,7 @@ __FdoRestoreDevicePnpState(
 
 static FORCEINLINE DEVICE_PNP_STATE
 __FdoGetDevicePnpState(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     PXENVIF_DX          Dx = Fdo->Dx;
@@ -163,18 +163,18 @@ __FdoGetDevicePnpState(
 
 static FORCEINLINE DEVICE_PNP_STATE
 __FdoGetPreviousDevicePnpState(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
-    PXENVIF_DX      Dx = Fdo->Dx;
+    PXENVIF_DX          Dx = Fdo->Dx;
 
     return Dx->PreviousDevicePnpState;
 }
 
 static FORCEINLINE VOID
 __FdoSetDevicePowerState(
-    IN  PXENVIF_FDO         Fdo,
-    IN  DEVICE_POWER_STATE  State
+    _In_ PXENVIF_FDO        Fdo,
+    _In_ DEVICE_POWER_STATE State
     )
 {
     PXENVIF_DX              Dx = Fdo->Dx;
@@ -184,7 +184,7 @@ __FdoSetDevicePowerState(
 
 static FORCEINLINE DEVICE_POWER_STATE
 __FdoGetDevicePowerState(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     PXENVIF_DX          Dx = Fdo->Dx;
@@ -194,8 +194,8 @@ __FdoGetDevicePowerState(
 
 static FORCEINLINE VOID
 __FdoSetSystemPowerState(
-    IN  PXENVIF_FDO         Fdo,
-    IN  SYSTEM_POWER_STATE  State
+    _In_ PXENVIF_FDO        Fdo,
+    _In_ SYSTEM_POWER_STATE State
     )
 {
     PXENVIF_DX              Dx = Fdo->Dx;
@@ -205,7 +205,7 @@ __FdoSetSystemPowerState(
 
 static FORCEINLINE SYSTEM_POWER_STATE
 __FdoGetSystemPowerState(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     PXENVIF_DX          Dx = Fdo->Dx;
@@ -215,7 +215,7 @@ __FdoGetSystemPowerState(
 
 static FORCEINLINE PDEVICE_OBJECT
 __FdoGetPhysicalDeviceObject(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     return Fdo->PhysicalDeviceObject;
@@ -223,16 +223,16 @@ __FdoGetPhysicalDeviceObject(
 
 PDEVICE_OBJECT
 FdoGetPhysicalDeviceObject(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     return __FdoGetPhysicalDeviceObject(Fdo);
 }
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 static FORCEINLINE NTSTATUS
 __FdoAcquireLowerBusInterface(
-    IN  PXENVIF_FDO         Fdo
+    _In_ PXENVIF_FDO        Fdo
     )
 {
     PBUS_INTERFACE_STANDARD BusInterface;
@@ -315,7 +315,7 @@ fail1:
 
 static FORCEINLINE VOID
 __FdoReleaseLowerBusInterface(
-    IN  PXENVIF_FDO         Fdo
+    _In_ PXENVIF_FDO        Fdo
     )
 {
     PBUS_INTERFACE_STANDARD BusInterface;
@@ -334,12 +334,12 @@ __FdoReleaseLowerBusInterface(
 
 PDMA_ADAPTER
 FdoGetDmaAdapter(
-    IN  PXENVIF_FDO         Fdo,
-    IN  PDEVICE_DESCRIPTION DeviceDescriptor,
-    OUT PULONG              NumberOfMapRegisters
+    _In_ PXENVIF_FDO            Fdo,
+    _In_ PDEVICE_DESCRIPTION    DeviceDescriptor,
+    _Out_ PULONG                NumberOfMapRegisters
     )
 {
-    PBUS_INTERFACE_STANDARD BusInterface;
+    PBUS_INTERFACE_STANDARD     BusInterface;
 
     BusInterface = Fdo->LowerBusInterface;
     ASSERT(BusInterface != NULL);
@@ -351,11 +351,11 @@ FdoGetDmaAdapter(
 
 BOOLEAN
 FdoTranslateBusAddress(
-    IN      PXENVIF_FDO         Fdo,
-    IN      PHYSICAL_ADDRESS    BusAddress,
-    IN      ULONG               Length,
-    IN OUT  PULONG              AddressSpace,
-    OUT     PPHYSICAL_ADDRESS   TranslatedAddress
+    _In_ PXENVIF_FDO            Fdo,
+    _In_ PHYSICAL_ADDRESS       BusAddress,
+    _In_ ULONG                  Length,
+    _Inout_ PULONG              AddressSpace,
+    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
     )
 {
     PBUS_INTERFACE_STANDARD     BusInterface;
@@ -372,11 +372,11 @@ FdoTranslateBusAddress(
 
 ULONG
 FdoSetBusData(
-    IN  PXENVIF_FDO         Fdo,
-    IN  ULONG               DataType,
-    IN  PVOID               Buffer,
-    IN  ULONG               Offset,
-    IN  ULONG               Length
+    _In_ PXENVIF_FDO        Fdo,
+    _In_ ULONG              DataType,
+    _In_ PVOID              Buffer,
+    _In_ ULONG              Offset,
+    _In_ ULONG              Length
     )
 {
     PBUS_INTERFACE_STANDARD BusInterface;
@@ -393,11 +393,11 @@ FdoSetBusData(
 
 ULONG
 FdoGetBusData(
-    IN  PXENVIF_FDO         Fdo,
-    IN  ULONG               DataType,
-    IN  PVOID               Buffer,
-    IN  ULONG               Offset,
-    IN  ULONG               Length
+    _In_ PXENVIF_FDO        Fdo,
+    _In_ ULONG              DataType,
+    _In_ PVOID              Buffer,
+    _In_ ULONG              Offset,
+    _In_ ULONG              Length
     )
 {
     PBUS_INTERFACE_STANDARD BusInterface;
@@ -414,11 +414,11 @@ FdoGetBusData(
 
 static FORCEINLINE VOID
 __FdoSetVendorName(
-    IN  PXENVIF_FDO Fdo,
-    IN  USHORT      DeviceID
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ USHORT         DeviceID
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     status = RtlStringCbPrintfA(Fdo->VendorName,
                                 MAXNAMELEN,
@@ -430,7 +430,7 @@ __FdoSetVendorName(
 
 static FORCEINLINE PCHAR
 __FdoGetVendorName(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     return Fdo->VendorName;
@@ -438,7 +438,7 @@ __FdoGetVendorName(
 
 PCHAR
 FdoGetVendorName(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     return __FdoGetVendorName(Fdo);
@@ -446,11 +446,11 @@ FdoGetVendorName(
 
 static FORCEINLINE VOID
 __FdoSetName(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
-    PXENVIF_DX      Dx = Fdo->Dx;
-    NTSTATUS        status;
+    PXENVIF_DX          Dx = Fdo->Dx;
+    NTSTATUS            status;
 
     status = RtlStringCbPrintfA(Dx->Name,
                                 MAXNAMELEN,
@@ -461,29 +461,29 @@ __FdoSetName(
 
 static FORCEINLINE PCHAR
 __FdoGetName(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
-    PXENVIF_DX      Dx = Fdo->Dx;
+    PXENVIF_DX          Dx = Fdo->Dx;
 
     return Dx->Name;
 }
 
 PCHAR
 FdoGetName(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     return __FdoGetName(Fdo);
 }
 
-__drv_functionClass(IO_COMPLETION_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_COMPLETION_ROUTINE)
+_IRQL_requires_same_
 static NTSTATUS
 __FdoDelegateIrp(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PIRP            Irp,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp,
+    _In_ PVOID          Context
     )
 {
     PKEVENT             Event = Context;
@@ -498,8 +498,8 @@ __FdoDelegateIrp(
 
 NTSTATUS
 FdoDelegateIrp(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PDEVICE_OBJECT      DeviceObject;
@@ -562,13 +562,13 @@ done:
     return status;
 }
 
-__drv_functionClass(IO_COMPLETION_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_COMPLETION_ROUTINE)
+_IRQL_requires_same_
 static NTSTATUS
 __FdoForwardIrpSynchronously(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PIRP            Irp,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp,
+    _In_ PVOID          Context
     )
 {
     PKEVENT             Event = Context;
@@ -583,8 +583,8 @@ __FdoForwardIrpSynchronously(
 
 static NTSTATUS
 FdoForwardIrpSynchronously(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     KEVENT              Event;
@@ -621,8 +621,8 @@ FdoForwardIrpSynchronously(
 
 NTSTATUS
 FdoAddPhysicalDeviceObject(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     PDEVICE_OBJECT      DeviceObject;
@@ -655,8 +655,8 @@ fail1:
 
 VOID
 FdoRemovePhysicalDeviceObject(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     PDEVICE_OBJECT      DeviceObject;
@@ -682,7 +682,7 @@ done:
 
 static FORCEINLINE VOID
 __FdoAcquireMutex(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     AcquireMutex(&Fdo->Mutex);
@@ -690,7 +690,7 @@ __FdoAcquireMutex(
 
 VOID
 FdoAcquireMutex(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     __FdoAcquireMutex(Fdo);
@@ -698,7 +698,7 @@ FdoAcquireMutex(
 
 static FORCEINLINE VOID
 __FdoReleaseMutex(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     ReleaseMutex(&Fdo->Mutex);
@@ -706,7 +706,7 @@ __FdoReleaseMutex(
 
 VOID
 FdoReleaseMutex(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     __FdoReleaseMutex(Fdo);
@@ -717,11 +717,11 @@ FdoReleaseMutex(
 
 static FORCEINLINE BOOLEAN
 __FdoEnumerate(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PANSI_STRING    Devices
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PANSI_STRING   Devices
     )
 {
-    BOOLEAN             NeedInvalidate; 
+    BOOLEAN             NeedInvalidate;
     HANDLE              ParametersKey;
     ULONG               Enumerate;
     PLIST_ENTRY         ListEntry;
@@ -848,7 +848,7 @@ done:
 
 static FORCEINLINE PANSI_STRING
 __FdoMultiSzToUpcaseAnsi(
-    IN  PCHAR       Buffer
+    _In_ PCHAR      Buffer
     )
 {
     PANSI_STRING    Ansi;
@@ -913,7 +913,7 @@ fail1:
 
 static FORCEINLINE VOID
 __FdoFreeAnsi(
-    IN  PANSI_STRING    Ansi
+    _In_ PANSI_STRING   Ansi
     )
 {
     ULONG               Index;
@@ -1055,9 +1055,9 @@ loop:
 
 static DECLSPEC_NOINLINE VOID
 FdoParseResources(
-    IN  PXENVIF_FDO             Fdo,
-    IN  PCM_RESOURCE_LIST       RawResourceList,
-    IN  PCM_RESOURCE_LIST       TranslatedResourceList
+    _In_ PXENVIF_FDO            Fdo,
+    _In_ PCM_RESOURCE_LIST      RawResourceList,
+    _In_ PCM_RESOURCE_LIST      TranslatedResourceList
     )
 {
     PCM_PARTIAL_RESOURCE_LIST   RawPartialList;
@@ -1102,17 +1102,17 @@ FdoParseResources(
 
 static FORCEINLINE BOOLEAN
 __FdoMatchDistribution(
-    IN  PXENVIF_FDO Fdo,
-    IN  PCHAR       Buffer
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PCHAR          Buffer
     )
 {
-    PCHAR           Vendor;
-    PCHAR           Product;
-    PCHAR           Context;
-    const CHAR      *Text;
-    BOOLEAN         Match;
-    ULONG           Index;
-    NTSTATUS        status;
+    PCHAR               Vendor;
+    PCHAR               Product;
+    PCHAR               Context;
+    const CHAR          *Text;
+    BOOLEAN             Match;
+    ULONG               Index;
+    NTSTATUS            status;
 
     UNREFERENCED_PARAMETER(Fdo);
 
@@ -1162,13 +1162,13 @@ fail1:
 
 static VOID
 FdoClearDistribution(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
-    PCHAR           Buffer;
-    PANSI_STRING    Distributions;
-    ULONG           Index;
-    NTSTATUS        status;
+    PCHAR               Buffer;
+    PANSI_STRING        Distributions;
+    ULONG               Index;
+    NTSTATUS            status;
 
     Trace("====>\n");
 
@@ -1225,14 +1225,14 @@ done:
 
 static NTSTATUS
 FdoSetDistribution(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
-    ULONG           Index;
-    CHAR            Distribution[MAXNAMELEN];
-    CHAR            Vendor[MAXNAMELEN];
-    const CHAR      *Product;
-    NTSTATUS        status;
+    ULONG               Index;
+    CHAR                Distribution[MAXNAMELEN];
+    CHAR                Vendor[MAXNAMELEN];
+    const CHAR          *Product;
+    NTSTATUS            status;
 
     Trace("====>\n");
 
@@ -1319,10 +1319,10 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __FdoD3ToD0(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     Trace("====>\n");
 
@@ -1359,7 +1359,7 @@ fail1:
 
 static FORCEINLINE VOID
 __FdoD0ToD3(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     Trace("====>\n");
@@ -1384,7 +1384,7 @@ __FdoD0ToD3(
 
 static DECLSPEC_NOINLINE VOID
 FdoSuspendCallbackLate(
-    IN  PVOID   Argument
+    _In_ PVOID  Argument
     )
 {
     PXENVIF_FDO Fdo = Argument;
@@ -1399,13 +1399,13 @@ FdoSuspendCallbackLate(
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE NTSTATUS
 FdoD3ToD0(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
-    POWER_STATE     PowerState;
-    KIRQL           Irql;
-    PLIST_ENTRY     ListEntry;
-    NTSTATUS        status;
+    POWER_STATE         PowerState;
+    KIRQL               Irql;
+    PLIST_ENTRY         ListEntry;
+    NTSTATUS            status;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
     ASSERT3U(__FdoGetDevicePowerState(Fdo), ==, PowerDeviceD3);
@@ -1492,12 +1492,12 @@ fail1:
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE VOID
 FdoD0ToD3(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
-    POWER_STATE     PowerState;
-    PLIST_ENTRY     ListEntry;
-    KIRQL           Irql;
+    POWER_STATE         PowerState;
+    PLIST_ENTRY         ListEntry;
+    KIRQL               Irql;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
     ASSERT3U(__FdoGetDevicePowerState(Fdo), ==, PowerDeviceD0);
@@ -1551,7 +1551,7 @@ FdoD0ToD3(
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE VOID
 FdoS4ToS3(
-    IN  PXENVIF_FDO         Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -1563,7 +1563,7 @@ FdoS4ToS3(
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE VOID
 FdoS3ToS4(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -1574,8 +1574,8 @@ FdoS3ToS4(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoStartDevice(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1634,11 +1634,11 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryStopDevice(
-    IN  PXENVIF_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __FdoSetDevicePnpState(Fdo, StopPending);
     Irp->IoStatus.Status = STATUS_SUCCESS;
@@ -1651,11 +1651,11 @@ FdoQueryStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoCancelStopDevice(
-    IN  PXENVIF_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     Irp->IoStatus.Status = STATUS_SUCCESS;
 
@@ -1669,11 +1669,11 @@ FdoCancelStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoStopDevice(
-    IN  PXENVIF_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     if (__FdoGetDevicePowerState(Fdo) == PowerDeviceD0)
         FdoD0ToD3(Fdo);
@@ -1697,11 +1697,11 @@ FdoStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryRemoveDevice(
-    IN  PXENVIF_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __FdoSetDevicePnpState(Fdo, RemovePending);
     Irp->IoStatus.Status = STATUS_SUCCESS;
@@ -1714,11 +1714,11 @@ FdoQueryRemoveDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoCancelRemoveDevice(
-    IN  PXENVIF_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __FdoRestoreDevicePnpState(Fdo, RemovePending);
 
@@ -1732,12 +1732,12 @@ FdoCancelRemoveDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoSurpriseRemoval(
-    IN  PXENVIF_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    PLIST_ENTRY     ListEntry;
-    NTSTATUS        status;
+    PLIST_ENTRY         ListEntry;
+    NTSTATUS            status;
 
     __FdoSetDevicePnpState(Fdo, SurpriseRemovePending);
 
@@ -1767,12 +1767,12 @@ FdoSurpriseRemoval(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoRemoveDevice(
-    IN  PXENVIF_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    PLIST_ENTRY     ListEntry;
-    NTSTATUS        status;
+    PLIST_ENTRY         ListEntry;
+    NTSTATUS            status;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
 
@@ -1849,8 +1849,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryDeviceRelations(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1973,8 +1973,8 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryCapabilities(
-    IN  PXENVIF_FDO         Fdo,
-    IN  PIRP                Irp
+    _In_ PXENVIF_FDO        Fdo,
+    _In_ PIRP               Irp
     )
 {
     PIO_STACK_LOCATION      StackLocation;
@@ -2013,8 +2013,8 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDeviceUsageNotification(
-    IN  PXENVIF_FDO                 Fdo,
-    IN  PIRP                        Irp
+    _In_ PXENVIF_FDO                Fdo,
+    _In_ PIRP                       Irp
     )
 {
     PIO_STACK_LOCATION              StackLocation;
@@ -2073,8 +2073,8 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryPnpDeviceState(
-    IN  PXENVIF_FDO                 Fdo,
-    IN  PIRP                        Irp
+    _In_ PXENVIF_FDO                Fdo,
+    _In_ PIRP                       Irp
     )
 {
     ULONG_PTR                       State;
@@ -2104,8 +2104,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchPnp(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2182,12 +2182,12 @@ FdoDispatchPnp(
     return status;
 }
 
-__drv_functionClass(IO_WORKITEM_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_WORKITEM_ROUTINE)
+_IRQL_requires_same_
 static VOID
 FdoDevicePowerUpWorker(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FDO         Fdo = (PXENVIF_FDO)Context;
@@ -2203,13 +2203,13 @@ FdoDevicePowerUpWorker(
     IoCompleteRequest(Irp, IO_NO_INCREMENT);
 }
 
-__drv_functionClass(IO_COMPLETION_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_COMPLETION_ROUTINE)
+_IRQL_requires_same_
 static NTSTATUS
 FdoSetDevicePowerUpComplete(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PIRP            Irp,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FDO         Fdo = (PXENVIF_FDO)Context;
@@ -2242,8 +2242,8 @@ FdoSetDevicePowerUpComplete(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePowerUp(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2268,12 +2268,12 @@ __FdoSetDevicePowerUp(
     return STATUS_PENDING;
 }
 
-__drv_functionClass(IO_WORKITEM_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_WORKITEM_ROUTINE)
+_IRQL_requires_same_
 static VOID
 FdoDevicePowerDownWorker(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FDO         Fdo = (PXENVIF_FDO)Context;
@@ -2292,8 +2292,8 @@ FdoDevicePowerDownWorker(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePowerDown(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2336,8 +2336,8 @@ __FdoSetDevicePowerDown(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePower(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2374,15 +2374,15 @@ done:
     return status;
 }
 
-__drv_functionClass(REQUEST_POWER_COMPLETE)
-__drv_sameIRQL
+_Function_class_(REQUEST_POWER_COMPLETE)
+_IRQL_requires_same_
 static VOID
 FdoRequestSetDevicePowerUpComplete(
-    IN  PDEVICE_OBJECT      DeviceObject,
-    IN  UCHAR               MinorFunction,
-    IN  POWER_STATE         PowerState,
-    IN  PVOID               Context,
-    IN  PIO_STATUS_BLOCK    IoStatus
+    _In_ PDEVICE_OBJECT     DeviceObject,
+    _In_ UCHAR              MinorFunction,
+    _In_ POWER_STATE        PowerState,
+    _In_ PVOID              Context,
+    _In_ PIO_STATUS_BLOCK   IoStatus
     )
 {
     PIRP                    Irp = (PIRP)Context;
@@ -2395,12 +2395,12 @@ FdoRequestSetDevicePowerUpComplete(
     IoCompleteRequest(Irp, IO_NO_INCREMENT);
 }
 
-__drv_functionClass(IO_WORKITEM_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_WORKITEM_ROUTINE)
+_IRQL_requires_same_
 static VOID
 FdoSystemPowerUpWorker(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FDO         Fdo = (PXENVIF_FDO)Context;
@@ -2446,13 +2446,13 @@ fail1:
     IoCompleteRequest(Irp, IO_NO_INCREMENT);
 }
 
-__drv_functionClass(IO_COMPLETION_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_COMPLETION_ROUTINE)
+_IRQL_requires_same_
 static NTSTATUS
 FdoSetSystemPowerUpComplete(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PIRP            Irp,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FDO         Fdo = (PXENVIF_FDO)Context;
@@ -2506,8 +2506,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __FdoSetSystemPowerUp(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2531,12 +2531,12 @@ __FdoSetSystemPowerUp(
     return STATUS_PENDING;
 }
 
-__drv_functionClass(IO_WORKITEM_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_WORKITEM_ROUTINE)
+_IRQL_requires_same_
 static VOID
 FdoSystemPowerDownWorker(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FDO         Fdo = (PXENVIF_FDO)Context;
@@ -2560,15 +2560,15 @@ FdoSystemPowerDownWorker(
     IoCallDriver(Fdo->LowerDeviceObject, Irp);
 }
 
-__drv_functionClass(REQUEST_POWER_COMPLETE)
-__drv_sameIRQL
+_Function_class_(REQUEST_POWER_COMPLETE)
+_IRQL_requires_same_
 static VOID
 FdoRequestSetDevicePowerDownComplete(
-    IN  PDEVICE_OBJECT      DeviceObject,
-    IN  UCHAR               MinorFunction,
-    IN  POWER_STATE         PowerState,
-    IN  PVOID               Context,
-    IN  PIO_STATUS_BLOCK    IoStatus
+    _In_ PDEVICE_OBJECT     DeviceObject,
+    _In_ UCHAR              MinorFunction,
+    _In_ POWER_STATE        PowerState,
+    _In_ PVOID              Context,
+    _In_ PIO_STATUS_BLOCK   IoStatus
     )
 {
     PIRP                    Irp = (PIRP)Context;
@@ -2611,8 +2611,8 @@ FdoRequestSetDevicePowerDownComplete(
 
 static FORCEINLINE NTSTATUS
 __FdoSetSystemPowerDown(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2655,8 +2655,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __FdoSetSystemPower(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2698,8 +2698,8 @@ done:
 
 static FORCEINLINE NTSTATUS
 __FdoQueryDevicePowerUp(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2719,8 +2719,8 @@ __FdoQueryDevicePowerUp(
 
 static FORCEINLINE NTSTATUS
 __FdoQueryDevicePowerDown(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2740,8 +2740,8 @@ __FdoQueryDevicePowerDown(
 
 static FORCEINLINE NTSTATUS
 __FdoQueryDevicePower(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2778,15 +2778,15 @@ done:
     return status;
 }
 
-__drv_functionClass(REQUEST_POWER_COMPLETE)
-__drv_sameIRQL
+_Function_class_(REQUEST_POWER_COMPLETE)
+_IRQL_requires_same_
 static VOID
 FdoRequestQueryDevicePowerUpComplete(
-    IN  PDEVICE_OBJECT      DeviceObject,
-    IN  UCHAR               MinorFunction,
-    IN  POWER_STATE         PowerState,
-    IN  PVOID               Context,
-    IN  PIO_STATUS_BLOCK    IoStatus
+    _In_ PDEVICE_OBJECT     DeviceObject,
+    _In_ UCHAR              MinorFunction,
+    _In_ POWER_STATE        PowerState,
+    _In_ PVOID              Context,
+    _In_ PIO_STATUS_BLOCK   IoStatus
     )
 {
     PIRP                    Irp = (PIRP)Context;
@@ -2801,13 +2801,13 @@ FdoRequestQueryDevicePowerUpComplete(
     IoCompleteRequest(Irp, IO_NO_INCREMENT);
 }
 
-__drv_functionClass(IO_COMPLETION_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_COMPLETION_ROUTINE)
+_IRQL_requires_same_
 static NTSTATUS
 FdoQuerySystemPowerUpComplete(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PIRP            Irp,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FDO         Fdo = (PXENVIF_FDO)Context;
@@ -2842,8 +2842,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __FdoQuerySystemPowerUp(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2867,15 +2867,15 @@ __FdoQuerySystemPowerUp(
     return STATUS_PENDING;
 }
 
-__drv_functionClass(REQUEST_POWER_COMPLETE)
-__drv_sameIRQL
+_Function_class_(REQUEST_POWER_COMPLETE)
+_IRQL_requires_same_
 static VOID
 FdoRequestQueryDevicePowerDownComplete(
-    IN  PDEVICE_OBJECT      DeviceObject,
-    IN  UCHAR               MinorFunction,
-    IN  POWER_STATE         PowerState,
-    IN  PVOID               Context,
-    IN  PIO_STATUS_BLOCK    IoStatus
+    _In_ PDEVICE_OBJECT     DeviceObject,
+    _In_ UCHAR              MinorFunction,
+    _In_ POWER_STATE        PowerState,
+    _In_ PVOID              Context,
+    _In_ PIO_STATUS_BLOCK   IoStatus
     )
 {
     PIRP                    Irp = (PIRP)Context;
@@ -2905,8 +2905,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __FdoQuerySystemPowerDown(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2945,8 +2945,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __FdoQuerySystemPower(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2986,8 +2986,8 @@ done:
 
 static FORCEINLINE NTSTATUS
 __FdoDevicePower(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -3015,8 +3015,8 @@ __FdoDevicePower(
 
 static FORCEINLINE NTSTATUS
 __FdoSystemPower(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -3044,8 +3044,8 @@ __FdoSystemPower(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchPower(
-    IN  PXENVIF_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -3075,8 +3075,8 @@ FdoDispatchPower(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchDefault(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     NTSTATUS            status;
@@ -3089,8 +3089,8 @@ FdoDispatchDefault(
 
 NTSTATUS
 FdoDispatch(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -3115,15 +3115,15 @@ FdoDispatch(
     return status;
 }
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 static NTSTATUS
 FdoQueryInterface(
-    IN  PXENVIF_FDO     Fdo,
-    IN  const GUID      *Guid,
-    IN  ULONG           Version,
-    OUT PINTERFACE      Interface,
-    IN  ULONG           Size,
-    IN  BOOLEAN         Optional
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ const GUID     *Guid,
+    _In_ ULONG          Version,
+    _Out_ PINTERFACE    Interface,
+    _In_ ULONG          Size,
+    _In_ BOOLEAN        Optional
     )
 {
     KEVENT              Event;
@@ -3223,7 +3223,7 @@ DEFINE_FDO_GET_INTERFACE(Unplug, PXENBUS_UNPLUG_INTERFACE)
 
 NTSTATUS
 FdoCreate(
-    IN  PDEVICE_OBJECT      PhysicalDeviceObject
+    _In_ PDEVICE_OBJECT     PhysicalDeviceObject
     )
 {
     PDEVICE_OBJECT          FunctionDeviceObject;
@@ -3461,7 +3461,7 @@ fail1:
 
 VOID
 FdoDestroy(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     )
 {
     PXENVIF_DX          Dx = Fdo->Dx;
diff --git a/src/xenvif/fdo.h b/src/xenvif/fdo.h
index 5e28cf2..c72066d 100644
--- a/src/xenvif/fdo.h
+++ b/src/xenvif/fdo.h
@@ -48,85 +48,85 @@
 
 extern PCHAR
 FdoGetVendorName(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     );
 
 extern PCHAR
 FdoGetName(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     );
 
 extern NTSTATUS
 FdoAddPhysicalDeviceObject(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern VOID
 FdoRemovePhysicalDeviceObject(
-    IN  PXENVIF_FDO     Fdo,
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern VOID
 FdoAcquireMutex(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     );
 
 extern VOID
 FdoReleaseMutex(
-    IN  PXENVIF_FDO     Fdo
+    _In_ PXENVIF_FDO    Fdo
     );
 
 extern PDEVICE_OBJECT
 FdoGetPhysicalDeviceObject(
-    IN  PXENVIF_FDO Fdo
+    _In_ PXENVIF_FDO    Fdo
     );
 
 extern PDMA_ADAPTER
 FdoGetDmaAdapter(
-    IN  PXENVIF_FDO         Fdo,
-    IN  PDEVICE_DESCRIPTION DeviceDescriptor,
-    OUT PULONG              NumberOfMapRegisters
+    _In_ PXENVIF_FDO            Fdo,
+    _In_ PDEVICE_DESCRIPTION    DeviceDescriptor,
+    _Out_ PULONG                NumberOfMapRegisters
     );
 
 extern BOOLEAN
 FdoTranslateBusAddress(
-    IN      PXENVIF_FDO         Fdo,
-    IN      PHYSICAL_ADDRESS    BusAddress,
-    IN      ULONG               Length,
-    IN OUT  PULONG              AddressSpace,
-    OUT     PPHYSICAL_ADDRESS   TranslatedAddress
+    _In_ PXENVIF_FDO            Fdo,
+    _In_ PHYSICAL_ADDRESS       BusAddress,
+    _In_ ULONG                  Length,
+    _Inout_ PULONG              AddressSpace,
+    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
     );
 
 extern ULONG
 FdoSetBusData(
-    IN  PXENVIF_FDO     Fdo,
-    IN  ULONG           DataType,
-    IN  PVOID           Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ ULONG          DataType,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Offset,
+    _In_ ULONG          Length
     );
 
 extern ULONG
 FdoGetBusData(
-    IN  PXENVIF_FDO     Fdo,
-    IN  ULONG           DataType,
-    IN  PVOID           Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ ULONG          DataType,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Offset,
+    _In_ ULONG          Length
     );
 
 extern NTSTATUS
 FdoDelegateIrp(
-    IN  PXENVIF_FDO    Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     );
 
 extern NTSTATUS
 FdoDispatch(
-    IN  PXENVIF_FDO    Fdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ PIRP           Irp
     );
 
 #define DECLARE_FDO_GET_INTERFACE(_Interface, _Type)    \
@@ -147,12 +147,12 @@ DECLARE_FDO_GET_INTERFACE(Unplug, 
PXENBUS_UNPLUG_INTERFACE)
 
 extern NTSTATUS
 FdoCreate(
-    IN  PDEVICE_OBJECT  PhysicalDeviceObject
+    _In_ PDEVICE_OBJECT PhysicalDeviceObject
     );
 
 extern VOID
 FdoDestroy(
-    IN  PXENVIF_FDO    Fdo
+    _In_ PXENVIF_FDO    Fdo
     );
 
 #endif  // _XENVIF_FDO_H
diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c
index 56fcc30..675e419 100644
--- a/src/xenvif/frontend.c
+++ b/src/xenvif/frontend.c
@@ -117,7 +117,7 @@ struct _XENVIF_FRONTEND {
 
 static const PCHAR
 FrontendStateName(
-    IN  XENVIF_FRONTEND_STATE   State
+    _In_ XENVIF_FRONTEND_STATE  State
     )
 {
 #define _STATE_NAME(_State)     \
@@ -144,7 +144,7 @@ FrontendStateName(
 
 static FORCEINLINE PVOID
 __FrontendAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, FRONTEND_POOL);
@@ -152,7 +152,7 @@ __FrontendAllocate(
 
 static FORCEINLINE VOID
 __FrontendFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, FRONTEND_POOL);
@@ -160,7 +160,7 @@ __FrontendFree(
 
 static FORCEINLINE PXENVIF_PDO
 __FrontendGetPdo(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return Frontend->Pdo;
@@ -168,7 +168,7 @@ __FrontendGetPdo(
 
 PXENVIF_PDO
 FrontendGetPdo(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return __FrontendGetPdo(Frontend);
@@ -176,7 +176,7 @@ FrontendGetPdo(
 
 static FORCEINLINE PCHAR
 __FrontendGetPath(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return Frontend->Path;
@@ -184,7 +184,7 @@ __FrontendGetPath(
 
 PCHAR
 FrontendGetPath(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return __FrontendGetPath(Frontend);
@@ -192,7 +192,7 @@ FrontendGetPath(
 
 static FORCEINLINE PCHAR
 __FrontendGetPrefix(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return Frontend->Prefix;
@@ -200,7 +200,7 @@ __FrontendGetPrefix(
 
 PCHAR
 FrontendGetPrefix(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return __FrontendGetPrefix(Frontend);
@@ -208,7 +208,7 @@ FrontendGetPrefix(
 
 static FORCEINLINE PCHAR
 __FrontendGetBackendPath(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return Frontend->BackendPath;
@@ -216,7 +216,7 @@ __FrontendGetBackendPath(
 
 PCHAR
 FrontendGetBackendPath(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return __FrontendGetBackendPath(Frontend);
@@ -224,7 +224,7 @@ FrontendGetBackendPath(
 
 static FORCEINLINE USHORT
 __FrontendGetBackendDomain(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return Frontend->BackendDomain;
@@ -232,7 +232,7 @@ __FrontendGetBackendDomain(
 
 USHORT
 FrontendGetBackendDomain(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return __FrontendGetBackendDomain(Frontend);
@@ -240,7 +240,7 @@ FrontendGetBackendDomain(
 
 static VOID
 FrontendSetMaxQueues(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     HANDLE                  ParametersKey;
@@ -265,7 +265,7 @@ FrontendSetMaxQueues(
 
 static FORCEINLINE ULONG
 __FrontendGetMaxQueues(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     ASSERT(Frontend->MaxQueues != 0);
@@ -274,7 +274,7 @@ __FrontendGetMaxQueues(
 
 ULONG
 FrontendGetMaxQueues(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return __FrontendGetMaxQueues(Frontend);
@@ -282,8 +282,8 @@ FrontendGetMaxQueues(
 
 PCHAR
 FrontendFormatPath(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  ULONG               Index
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ ULONG              Index
     )
 {
     ULONG                   Length;
@@ -317,8 +317,8 @@ fail1:
 
 VOID
 FrontendFreePath(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PCHAR               Path
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PCHAR              Path
     )
 {
     UNREFERENCED_PARAMETER(Frontend);
@@ -350,7 +350,7 @@ DEFINE_FRONTEND_GET_FUNCTION(Controller, PXENVIF_CONTROLLER)
 
 static BOOLEAN
 FrontendIsOnline(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return Frontend->Online;
@@ -358,7 +358,7 @@ FrontendIsOnline(
 
 static BOOLEAN
 FrontendIsBackendOnline(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     PCHAR                   Buffer;
@@ -387,8 +387,8 @@ FrontendIsBackendOnline(
 _IRQL_requires_(PASSIVE_LEVEL)
 static DECLSPEC_NOINLINE NTSTATUS
 FrontendEject(
-    IN  PXENVIF_THREAD  Self,
-    IN  PVOID           Context
+    _In_ PXENVIF_THREAD Self,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FRONTEND    Frontend = Context;
@@ -443,13 +443,13 @@ loop:
 
 VOID
 FrontendEjectFailed(
-    IN PXENVIF_FRONTEND Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
-    KIRQL               Irql;
-    ULONG               Length;
-    PCHAR               Path;
-    NTSTATUS            status;
+    KIRQL                   Irql;
+    ULONG                   Length;
+    PCHAR                   Path;
+    NTSTATUS                status;
 
     KeAcquireSpinLock(&Frontend->Lock, &Irql);
 
@@ -494,8 +494,8 @@ fail1:
 
 static NTSTATUS
 FrontendProcessInterfaceTable(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PMIB_IF_TABLE2      Table
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PMIB_IF_TABLE2     Table
     )
 {
     ETHERNET_ADDRESS        PermanentPhysicalAddress;
@@ -542,14 +542,14 @@ found:
 
 static NTSTATUS
 FrontendInsertAddress(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  const SOCKADDR_INET *Address,
-    IN  UINT8               Prefix
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _In_ const SOCKADDR_INET    *Address,
+    _In_ UINT8                  Prefix
     )
 {
-    ULONG                   Index;
-    PXENVIF_ADDRESS         Table;
-    NTSTATUS                status;
+    ULONG                       Index;
+    PXENVIF_ADDRESS             Table;
+    NTSTATUS                    status;
 
     Trace("====>\n");
 
@@ -606,12 +606,12 @@ fail1:
 
 static NTSTATUS
 FrontendProcessAddressTable(
-    IN  PXENVIF_FRONTEND            Frontend,
-    IN  PMIB_UNICASTIPADDRESS_TABLE Table
+    _In_ PXENVIF_FRONTEND               Frontend,
+    _In_ PMIB_UNICASTIPADDRESS_TABLE    Table
     )
 {
-    ULONG                           Index;
-    NTSTATUS                        status;
+    ULONG                               Index;
+    NTSTATUS                            status;
 
     UNREFERENCED_PARAMETER(Frontend);
 
@@ -649,7 +649,7 @@ fail1:
 
 static NTSTATUS
 FrontendDumpAlias(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     NTSTATUS                status;
@@ -861,7 +861,7 @@ FrontendDumpIPv6Address(
 
 static NTSTATUS
 FrontendDumpAddressTable(
-    IN  PXENVIF_FRONTEND        Frontend
+    _In_ PXENVIF_FRONTEND       Frontend
     )
 {
     PXENBUS_STORE_TRANSACTION   Transaction;
@@ -961,12 +961,12 @@ fail1:
 
 static VOID
 FrontendIpAddressChange(
-    IN  PVOID                       Context,
-    IN  PMIB_UNICASTIPADDRESS_ROW   Row OPTIONAL,
-    IN  MIB_NOTIFICATION_TYPE       NotificationType
+    _In_ PVOID                          Context,
+    _In_opt_ PMIB_UNICASTIPADDRESS_ROW  Row,
+    _In_ MIB_NOTIFICATION_TYPE          NotificationType
     )
 {
-    PXENVIF_FRONTEND                Frontend = Context;
+    PXENVIF_FRONTEND                    Frontend = Context;
 
     UNREFERENCED_PARAMETER(Row);
     UNREFERENCED_PARAMETER(NotificationType);
@@ -977,8 +977,8 @@ FrontendIpAddressChange(
 _IRQL_requires_(PASSIVE_LEVEL)
 static DECLSPEC_NOINLINE NTSTATUS
 FrontendMib(
-    IN  PXENVIF_THREAD  Self,
-    IN  PVOID           Context
+    _In_ PXENVIF_THREAD Self,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_FRONTEND    Frontend = Context;
@@ -1138,9 +1138,9 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetMulticastAddresses(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PETHERNET_ADDRESS   Address,
-    IN  ULONG               Count
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PETHERNET_ADDRESS  Address,
+    _In_ ULONG              Count
     )
 {
     PXENVIF_TRANSMITTER     Transmitter;
@@ -1251,8 +1251,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 FrontendNotifyMulticastAddresses(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  BOOLEAN             Add
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ BOOLEAN            Add
     )
 {
     PXENVIF_TRANSMITTER     Transmitter;
@@ -1306,14 +1306,14 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetFilterLevel(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  ETHERNET_ADDRESS_TYPE   Type,
-    IN  XENVIF_MAC_FILTER_LEVEL Level
+    _In_ PXENVIF_FRONTEND           Frontend,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _In_ XENVIF_MAC_FILTER_LEVEL    Level
     )
 {
-    PXENVIF_MAC                 Mac;
-    KIRQL                       Irql;
-    NTSTATUS                    status;
+    PXENVIF_MAC                     Mac;
+    KIRQL                           Irql;
+    NTSTATUS                        status;
 
     Mac = FrontendGetMac(Frontend);
 
@@ -1348,7 +1348,7 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 FrontendAdvertiseIpAddresses(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     PXENVIF_TRANSMITTER     Transmitter;
@@ -1394,7 +1394,7 @@ FrontendAdvertiseIpAddresses(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendSetOnline(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     Trace("====>\n");
@@ -1407,7 +1407,7 @@ FrontendSetOnline(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendSetOffline(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     Trace("====>\n");
@@ -1421,8 +1421,8 @@ FrontendSetOffline(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendSetXenbusState(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  XenbusState         State
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ XenbusState        State
     )
 {
     BOOLEAN                 Online;
@@ -1454,7 +1454,7 @@ FrontendSetXenbusState(
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 FrontendAcquireBackend(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     PCHAR                   Buffer;
@@ -1501,8 +1501,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendWaitForBackendXenbusStateChange(
-    IN      PXENVIF_FRONTEND    Frontend,
-    IN OUT  XenbusState         *State
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _Inout_ XenbusState         *State
     )
 {
     KEVENT                      Event;
@@ -1606,7 +1606,7 @@ FrontendWaitForBackendXenbusStateChange(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendReleaseBackend(
-    IN      PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     Trace("=====>\n");
@@ -1627,7 +1627,7 @@ FrontendReleaseBackend(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendClose(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     XenbusState             State;
@@ -1689,7 +1689,7 @@ FrontendClose(
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 FrontendPrepare(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     XenbusState             State;
@@ -1790,9 +1790,9 @@ fail1:
 
 static FORCEINLINE VOID
 __FrontendQueryStatistic(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  XENVIF_VIF_STATISTIC    Name,
-    OUT PULONGLONG              Value
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _In_ XENVIF_VIF_STATISTIC   Name,
+    _Out_ PULONGLONG            Value
     )
 {
     ULONG                       Index;
@@ -1810,9 +1810,9 @@ __FrontendQueryStatistic(
 
 VOID
 FrontendQueryStatistic(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  XENVIF_VIF_STATISTIC    Name,
-    OUT PULONGLONG              Value
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _In_ XENVIF_VIF_STATISTIC   Name,
+    _Out_ PULONGLONG            Value
     )
 {
     __FrontendQueryStatistic(Frontend, Name, Value);
@@ -1820,9 +1820,9 @@ FrontendQueryStatistic(
 
 VOID
 FrontendIncrementStatistic(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  XENVIF_VIF_STATISTIC    Name,
-    IN  ULONGLONG               Delta
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _In_ XENVIF_VIF_STATISTIC   Name,
+    _In_ ULONGLONG              Delta
     )
 {
     ULONG                       Index;
@@ -1845,7 +1845,7 @@ FrontendIncrementStatistic(
 
 static FORCEINLINE const CHAR *
 __FrontendStatisticName(
-    IN  XENVIF_VIF_STATISTIC    Name
+    _In_ XENVIF_VIF_STATISTIC   Name
     )
 {
 #define _FRONTEND_STATISTIC_NAME(_Name)     \
@@ -1917,8 +1917,8 @@ __FrontendStatisticName(
 
 static VOID
 FrontendDebugCallback(
-    IN  PVOID               Argument,
-    IN  BOOLEAN             Crashing
+    _In_ PVOID              Argument,
+    _In_ BOOLEAN            Crashing
     )
 {
     PXENVIF_FRONTEND        Frontend = Argument;
@@ -1950,7 +1950,7 @@ FrontendDebugCallback(
 
 static NTSTATUS
 FrontendSetNumQueues(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     PCHAR                   Buffer;
@@ -1990,7 +1990,7 @@ fail1:
 
 static FORCEINLINE ULONG
 __FrontendGetNumQueues(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     ASSERT(Frontend->NumQueues != 0);
@@ -1999,7 +1999,7 @@ __FrontendGetNumQueues(
 
 ULONG
 FrontendGetNumQueues(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return __FrontendGetNumQueues(Frontend);
@@ -2007,7 +2007,7 @@ FrontendGetNumQueues(
 
 static VOID
 FrontendSetSplit(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     PCHAR                   Buffer;
@@ -2035,7 +2035,7 @@ FrontendSetSplit(
 
 static FORCEINLINE BOOLEAN
 __FrontendIsSplit(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return Frontend->Split;
@@ -2043,7 +2043,7 @@ __FrontendIsSplit(
 
 BOOLEAN
 FrontendIsSplit(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return __FrontendIsSplit(Frontend);
@@ -2134,8 +2134,8 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetHashAlgorithm(
-    IN  PXENVIF_FRONTEND                Frontend,
-    IN  XENVIF_PACKET_HASH_ALGORITHM    Algorithm
+    _In_ PXENVIF_FRONTEND               Frontend,
+    _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm
     )
 {
     XENVIF_FRONTEND_HASH                Hash;
@@ -2201,8 +2201,8 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendQueryHashTypes(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PULONG              Types
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PULONG            Types
     )
 {
     KIRQL                   Irql;
@@ -2241,9 +2241,9 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetHashMapping(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PULONG              Mapping,
-    IN  ULONG               Size
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PULONG             Mapping,
+    _In_ ULONG              Size
     )
 {
     XENVIF_FRONTEND_HASH    Hash;
@@ -2285,8 +2285,8 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetHashKey(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PUCHAR              Key
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PUCHAR             Key
     )
 {
     XENVIF_FRONTEND_HASH    Hash;
@@ -2320,8 +2320,8 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetHashTypes(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  ULONG               Types
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ ULONG              Types
     )
 {
     XENVIF_FRONTEND_HASH    Hash;
@@ -2365,9 +2365,9 @@ fail1:
 
 ULONG
 FrontendGetQueue(
-    IN  PXENVIF_FRONTEND                Frontend,
-    IN  XENVIF_PACKET_HASH_ALGORITHM    Algorithm,
-    IN  ULONG                           Value
+    _In_ PXENVIF_FRONTEND               Frontend,
+    _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm,
+    _In_ ULONG                          Value
     )
 {
     ULONG                               Queue;
@@ -2396,7 +2396,7 @@ FrontendGetQueue(
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 FrontendConnect(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     XenbusState             State;
@@ -2593,7 +2593,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendDisconnect(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     Trace("====>\n");
@@ -2621,7 +2621,7 @@ FrontendDisconnect(
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 FrontendEnable(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     NTSTATUS                status;
@@ -2673,7 +2673,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendDisable(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     Trace("====>\n");
@@ -2690,7 +2690,7 @@ FrontendDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE BOOLEAN
 FrontendIsPoisoned(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     return TransmitterIsPoisoned(__FrontendGetTransmitter(Frontend));
@@ -2699,8 +2699,8 @@ FrontendIsPoisoned(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetState(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  XENVIF_FRONTEND_STATE   State
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _In_ XENVIF_FRONTEND_STATE  State
     )
 {
     BOOLEAN                     Failed;
@@ -2876,7 +2876,7 @@ FrontendSetState(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __FrontendResume(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -2888,7 +2888,7 @@ __FrontendResume(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __FrontendSuspend(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -2899,7 +2899,7 @@ __FrontendSuspend(
 _IRQL_requires_(HIGH_LEVEL)
 static DECLSPEC_NOINLINE VOID
 FrontendSuspendCallbackEarly(
-    IN  PVOID           Argument
+    _In_ PVOID          Argument
     )
 {
     PXENVIF_FRONTEND    Frontend = Argument;
@@ -2910,7 +2910,7 @@ FrontendSuspendCallbackEarly(
 _IRQL_requires_(DISPATCH_LEVEL)
 static DECLSPEC_NOINLINE VOID
 FrontendSuspendCallbackLate(
-    IN  PVOID           Argument
+    _In_ PVOID          Argument
     )
 {
     PXENVIF_FRONTEND    Frontend = Argument;
@@ -2923,7 +2923,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendResume(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     KIRQL                   Irql;
@@ -3001,7 +3001,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 FrontendSuspend(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     KIRQL                   Irql;
@@ -3043,17 +3043,17 @@ FrontendSuspend(
 _IRQL_requires_(PASSIVE_LEVEL)
 NTSTATUS
 FrontendInitialize(
-    IN  PXENVIF_PDO         Pdo,
-    OUT PXENVIF_FRONTEND    *Frontend
+    _In_ PXENVIF_PDO            Pdo,
+    _Outptr_ PXENVIF_FRONTEND   *Frontend
     )
 {
-    PCHAR                   Name;
-    ULONG                   Length;
-    PCHAR                   Path;
-    PCHAR                   Prefix;
-    HANDLE                  ParametersKey;
-    ULONG                   FrontendDisableToeplitz;
-    NTSTATUS                status;
+    PCHAR                       Name;
+    ULONG                       Length;
+    PCHAR                       Path;
+    PCHAR                       Prefix;
+    HANDLE                      ParametersKey;
+    ULONG                       FrontendDisableToeplitz;
+    NTSTATUS                    status;
 
     Trace("====>\n");
 
@@ -3253,7 +3253,7 @@ fail1:
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 FrontendTeardown(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     )
 {
     Trace("====>\n");
diff --git a/src/xenvif/frontend.h b/src/xenvif/frontend.h
index c1b7334..caa84f9 100644
--- a/src/xenvif/frontend.h
+++ b/src/xenvif/frontend.h
@@ -60,204 +60,204 @@ typedef enum _XENVIF_FRONTEND_STATE {
 _IRQL_requires_(PASSIVE_LEVEL)
 extern NTSTATUS
 FrontendInitialize(
-    IN  PXENVIF_PDO         Pdo,
-    OUT PXENVIF_FRONTEND    *Frontend
+    _In_ PXENVIF_PDO            Pdo,
+    _Outptr_ PXENVIF_FRONTEND   *Frontend
     );
 
 _IRQL_requires_(PASSIVE_LEVEL)
 extern VOID
 FrontendTeardown(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern VOID
 FrontendEjectFailed(
-    IN PXENVIF_FRONTEND Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetState(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  XENVIF_FRONTEND_STATE   State
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _In_ XENVIF_FRONTEND_STATE  State
     );
 
 _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendResume(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 FrontendSuspend(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern PXENVIF_PDO
 FrontendGetPdo(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern PCHAR
 FrontendGetPrefix(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern PCHAR
 FrontendGetPath(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern PCHAR
 FrontendGetBackendPath(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern USHORT
 FrontendGetBackendDomain(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern ULONG
 FrontendGetMaxQueues(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern ULONG
 FrontendGetNumQueues(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern BOOLEAN
 FrontendIsSplit(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern BOOLEAN
 FrontendIsSplit(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern PCHAR
 FrontendFormatPath(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  ULONG               Index
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ ULONG              Index
     );
 
 extern VOID
 FrontendFreePath(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PCHAR               Path
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PCHAR              Path
     );
 
 #include "mac.h"
 
 extern PXENVIF_MAC
 FrontendGetMac(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 #include "receiver.h"
 
 extern PXENVIF_RECEIVER
 FrontendGetReceiver(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 #include "transmitter.h"
 
 extern PXENVIF_TRANSMITTER
 FrontendGetTransmitter(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 #include "controller.h"
 
 extern PXENVIF_CONTROLLER
 FrontendGetController(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 extern VOID
 FrontendQueryStatistic(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  XENVIF_VIF_STATISTIC    Index,
-    OUT PULONGLONG              Value
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _In_ XENVIF_VIF_STATISTIC   Index,
+    _Out_ PULONGLONG            Value
     );
 
 extern VOID
 FrontendIncrementStatistic(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  XENVIF_VIF_STATISTIC    Index,
-    IN  ULONGLONG               Delta
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _In_ XENVIF_VIF_STATISTIC   Index,
+    _In_ ULONGLONG              Delta
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetMulticastAddresses(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PETHERNET_ADDRESS   Address,
-    IN  ULONG               Count
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PETHERNET_ADDRESS  Address,
+    _In_ ULONG              Count
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetFilterLevel(
-    IN  PXENVIF_FRONTEND        Frontend,
-    IN  ETHERNET_ADDRESS_TYPE   Type,
-    IN  XENVIF_MAC_FILTER_LEVEL Level
+    _In_ PXENVIF_FRONTEND           Frontend,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _In_ XENVIF_MAC_FILTER_LEVEL    Level
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 FrontendAdvertiseIpAddresses(
-    IN  PXENVIF_FRONTEND    Frontend
+    _In_ PXENVIF_FRONTEND   Frontend
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetHashAlgorithm(
-    IN  PXENVIF_FRONTEND                Frontend,
-    IN  XENVIF_PACKET_HASH_ALGORITHM    Algorithm
+    _In_ PXENVIF_FRONTEND               Frontend,
+    _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendQueryHashTypes(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PULONG              Types
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PULONG            Types
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetHashMapping(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PULONG              Mapping,
-    IN  ULONG               Order
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PULONG             Mapping,
+    _In_ ULONG              Order
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetHashKey(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  PUCHAR              Key
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ PUCHAR             Key
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetHashTypes(
-    IN  PXENVIF_FRONTEND    Frontend,
-    IN  ULONG               Types
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _In_ ULONG              Types
     );
 
 extern ULONG
 FrontendGetQueue(
-    IN  PXENVIF_FRONTEND                Frontend,
-    IN  XENVIF_PACKET_HASH_ALGORITHM    Algorithm,
-    IN  ULONG                           Index
+    _In_ PXENVIF_FRONTEND               Frontend,
+    _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm,
+    _In_ ULONG                          Index
     );
 
 #endif  // _XENVIF_FRONTEND_H
diff --git a/src/xenvif/link.c b/src/xenvif/link.c
index e734f5a..1f95000 100644
--- a/src/xenvif/link.c
+++ b/src/xenvif/link.c
@@ -43,7 +43,7 @@
 
 static FORCEINLINE PVOID
 __LinkAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, LINK_TAG);
@@ -51,7 +51,7 @@ __LinkAllocate(
 
 static FORCEINLINE VOID
 __LinkFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, LINK_TAG);
@@ -59,8 +59,8 @@ __LinkFree(
 
 static FORCEINLINE NTSTATUS
 __LinkGetImageBase(
-    IN  const CHAR              *ModuleName,
-    OUT PVOID                   *ImageBase
+    _In_ const CHAR             *ModuleName,
+    _Outptr_ PVOID              *ImageBase
     )
 {
     ULONG                       BufferSize;
@@ -151,9 +151,9 @@ fail1:
 
 NTSTATUS
 LinkGetRoutineAddress(
-    IN  const CHAR  *ModuleName,
-    IN  const CHAR  *FunctionName,
-    OUT PVOID       *Address
+    _In_ const CHAR *ModuleName,
+    _In_ const CHAR *FunctionName,
+    _Outptr_ PVOID  *Address
     )
 {
 #define MK_PTR(_ImageBase, _Type, _RVA) \
diff --git a/src/xenvif/link.h b/src/xenvif/link.h
index 6915ce5..570414c 100644
--- a/src/xenvif/link.h
+++ b/src/xenvif/link.h
@@ -35,9 +35,9 @@
 
 extern NTSTATUS
 LinkGetRoutineAddress(
-    IN  const CHAR  *ModuleName,
-    IN  const CHAR  *FunctionName,
-    OUT PVOID       *Address
+    _In_ const CHAR *ModuleName,
+    _In_ const CHAR *FunctionName,
+    _Outptr_ PVOID  *Address
      );
 
 #endif  // _XENVIF_LINK_H
diff --git a/src/xenvif/mac.c b/src/xenvif/mac.c
index 3e441a1..d7f14dd 100644
--- a/src/xenvif/mac.c
+++ b/src/xenvif/mac.c
@@ -73,7 +73,7 @@ struct _XENVIF_MAC {
 
 static FORCEINLINE PVOID
 __MacAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, XENVIF_MAC_TAG);
@@ -81,7 +81,7 @@ __MacAllocate(
 
 static FORCEINLINE VOID
 __MacFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, XENVIF_MAC_TAG);
@@ -89,8 +89,8 @@ __MacFree(
 
 static FORCEINLINE NTSTATUS
 __MacSetPermanentAddress(
-    IN  PXENVIF_MAC         Mac,
-    IN  PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC        Mac,
+    _In_ PETHERNET_ADDRESS  Address
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -121,8 +121,8 @@ fail1:
 
 VOID
 MacQueryPermanentAddress(
-    IN  PXENVIF_MAC         Mac,
-    OUT PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC        Mac,
+    _Out_ PETHERNET_ADDRESS Address
     )
 {
     *Address = Mac->PermanentAddress;
@@ -130,8 +130,8 @@ MacQueryPermanentAddress(
 
 static FORCEINLINE NTSTATUS
 __MacSetCurrentAddress(
-    IN  PXENVIF_MAC         Mac,
-    IN  PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC        Mac,
+    _In_ PETHERNET_ADDRESS  Address
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -162,8 +162,8 @@ fail1:
 
 VOID
 MacQueryCurrentAddress(
-    IN  PXENVIF_MAC         Mac,
-    OUT PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC        Mac,
+    _Out_ PETHERNET_ADDRESS Address
     )
 {
     *Address = Mac->CurrentAddress;
@@ -171,8 +171,8 @@ MacQueryCurrentAddress(
 
 static VOID
 MacDebugCallback(
-    IN  PVOID           Argument,
-    IN  BOOLEAN         Crashing
+    _In_ PVOID          Argument,
+    _In_ BOOLEAN        Crashing
     )
 {
     PXENVIF_MAC         Mac = Argument;
@@ -206,8 +206,8 @@ MacDebugCallback(
 
 NTSTATUS
 MacInitialize(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PXENVIF_MAC         *Mac
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _Outptr_ PXENVIF_MAC    *Mac
     )
 {
     HANDLE                  ParametersKey;
@@ -251,9 +251,9 @@ fail1:
 }
 
 static FORCEINLINE VOID
-__drv_requiresIRQL(DISPATCH_LEVEL)
+_IRQL_requires_(DISPATCH_LEVEL)
 __MacAcquireLockExclusive(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -262,9 +262,9 @@ __MacAcquireLockExclusive(
 }
 
 static FORCEINLINE VOID
-__drv_requiresIRQL(DISPATCH_LEVEL)
+_IRQL_requires_(DISPATCH_LEVEL)
 __MacReleaseLockExclusive(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -274,9 +274,9 @@ __MacReleaseLockExclusive(
 }
 
 static FORCEINLINE VOID
-__drv_requiresIRQL(DISPATCH_LEVEL)
+_IRQL_requires_(DISPATCH_LEVEL)
 __MacAcquireLockShared(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -285,9 +285,9 @@ __MacAcquireLockShared(
 }
 
 static FORCEINLINE VOID
-__drv_requiresIRQL(DISPATCH_LEVEL)
+_IRQL_requires_(DISPATCH_LEVEL)
 __MacReleaseLockShared(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -298,7 +298,7 @@ __MacReleaseLockShared(
 
 NTSTATUS
 MacDumpAddressTable(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -403,7 +403,7 @@ fail1:
 
 NTSTATUS
 MacConnect(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -516,7 +516,7 @@ fail1:
 
 NTSTATUS
 MacEnable(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -577,7 +577,7 @@ fail1:
 
 VOID
 MacDisable(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -610,7 +610,7 @@ MacDisable(
 
 VOID
 MacDisconnect(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -650,7 +650,7 @@ MacDisconnect(
 
 VOID
 MacTeardown(
-    IN  PXENVIF_MAC Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     while (!IsListEmpty(&Mac->MulticastList)) {
@@ -694,7 +694,7 @@ MacTeardown(
 
 static FORCEINLINE ULONG64
 __MacGetSpeed(
-    IN  PXENVIF_MAC Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -761,7 +761,7 @@ __MacGetSpeed(
 
 static FORCEINLINE BOOLEAN
 __MacGetDisconnect(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -792,14 +792,14 @@ __MacGetDisconnect(
 
 VOID
 MacQueryState(
-    IN  PXENVIF_MAC                 Mac,
-    OUT PNET_IF_MEDIA_CONNECT_STATE MediaConnectState   OPTIONAL,
-    OUT PULONG64                    LinkSpeed           OPTIONAL,
-    OUT PNET_IF_MEDIA_DUPLEX_STATE  MediaDuplexState    OPTIONAL
+    _In_ PXENVIF_MAC                        Mac,
+    _Out_opt_ PNET_IF_MEDIA_CONNECT_STATE   MediaConnectState,
+    _Out_opt_ PULONG64                      LinkSpeed,
+    _Out_opt_ PNET_IF_MEDIA_DUPLEX_STATE    MediaDuplexState
     )
 {
-    ULONG64 Speed = __MacGetSpeed(Mac);
-    BOOLEAN Disconnect = __MacGetDisconnect(Mac);
+    ULONG64                                 Speed = __MacGetSpeed(Mac);
+    BOOLEAN                                 Disconnect = 
__MacGetDisconnect(Mac);
 
     if (Speed == 0)
         Disconnect = TRUE;
@@ -820,8 +820,8 @@ MacQueryState(
 
 VOID
 MacQueryMaximumFrameSize(
-    IN  PXENVIF_MAC Mac,
-    OUT PULONG      Size
+    _In_ PXENVIF_MAC    Mac,
+    _Out_ PULONG        Size
     )
 {
     *Size = Mac->MaximumFrameSize;
@@ -829,8 +829,8 @@ MacQueryMaximumFrameSize(
 
 NTSTATUS
 MacAddMulticastAddress(
-    IN      PXENVIF_MAC         Mac,
-    IN      PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC            Mac,
+    _In_ PETHERNET_ADDRESS      Address
     )
 {
     PXENVIF_FRONTEND            Frontend;
@@ -878,8 +878,8 @@ fail1:
 
 NTSTATUS
 MacRemoveMulticastAddress(
-    IN      PXENVIF_MAC         Mac,
-    IN      PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC            Mac,
+    _In_ PETHERNET_ADDRESS      Address
     )
 {
     PXENVIF_FRONTEND            Frontend;
@@ -941,9 +941,9 @@ fail1:
 
 NTSTATUS
 MacQueryMulticastAddresses(
-    IN      PXENVIF_MAC         Mac,
-    IN      PETHERNET_ADDRESS   Address OPTIONAL,
-    IN OUT  PULONG              Count
+    _In_ PXENVIF_MAC            Mac,
+    _In_opt_ PETHERNET_ADDRESS  Address,
+    _Inout_ PULONG              Count
     )
 {
     PLIST_ENTRY                 ListEntry;
@@ -987,8 +987,8 @@ fail1:
 
 VOID
 MacQueryBroadcastAddress(
-    IN  PXENVIF_MAC         Mac,
-    OUT PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC        Mac,
+    _Out_ PETHERNET_ADDRESS Address
     )
 {
     *Address = Mac->BroadcastAddress;
@@ -996,13 +996,13 @@ MacQueryBroadcastAddress(
 
 NTSTATUS
 MacSetFilterLevel(
-    IN  PXENVIF_MAC             Mac,
-    IN  ETHERNET_ADDRESS_TYPE   Type,
-    IN  XENVIF_MAC_FILTER_LEVEL Level
+    _In_ PXENVIF_MAC                Mac,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _In_ XENVIF_MAC_FILTER_LEVEL    Level
     )
 {
-    KIRQL                       Irql;
-    NTSTATUS                    status;
+    KIRQL                           Irql;
+    NTSTATUS                        status;
 
     status = STATUS_INVALID_PARAMETER;
     if ((ULONG)Type >= ETHERNET_ADDRESS_TYPE_COUNT)
@@ -1036,9 +1036,9 @@ fail1:
 
 NTSTATUS
 MacQueryFilterLevel(
-    IN  PXENVIF_MAC                 Mac,
-    IN  ETHERNET_ADDRESS_TYPE       Type,
-    OUT PXENVIF_MAC_FILTER_LEVEL    Level
+    _In_ PXENVIF_MAC                Mac,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _Out_ PXENVIF_MAC_FILTER_LEVEL  Level
     )
 {
     KIRQL                           Irql;
@@ -1066,8 +1066,8 @@ fail1:
 
 BOOLEAN
 MacApplyFilters(
-    IN  PXENVIF_MAC         Mac,
-    IN  PETHERNET_ADDRESS   DestinationAddress
+    _In_ PXENVIF_MAC        Mac,
+    _In_ PETHERNET_ADDRESS  DestinationAddress
     )
 {
     ETHERNET_ADDRESS_TYPE   Type;
diff --git a/src/xenvif/mac.h b/src/xenvif/mac.h
index 487e0a1..c964a2f 100644
--- a/src/xenvif/mac.h
+++ b/src/xenvif/mac.h
@@ -43,109 +43,109 @@ typedef struct _XENVIF_MAC XENVIF_MAC, *PXENVIF_MAC;
 
 extern NTSTATUS
 MacInitialize(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PXENVIF_MAC         *Mac
+    _In_ PXENVIF_FRONTEND   Frontend,
+    _Outptr_ PXENVIF_MAC    *Mac
     );
 
 extern NTSTATUS
 MacConnect(
-    IN  PXENVIF_MAC Mac
+    _In_ PXENVIF_MAC    Mac
     );
 
 extern NTSTATUS
 MacEnable(
-    IN  PXENVIF_MAC Mac
+    _In_ PXENVIF_MAC    Mac
     );
 
 extern VOID
 MacDisable(
-    IN  PXENVIF_MAC Mac
+    _In_ PXENVIF_MAC    Mac
     );
 
 extern VOID
 MacDisconnect(
-    IN  PXENVIF_MAC Mac
+    _In_ PXENVIF_MAC    Mac
     );
 
 extern VOID
 MacTeardown(
-    IN  PXENVIF_MAC Mac
+    _In_ PXENVIF_MAC    Mac
     );
 
 extern VOID
 MacQueryMaximumFrameSize(
-    IN  PXENVIF_MAC Mac,
-    OUT PULONG      Size
+    _In_ PXENVIF_MAC    Mac,
+    _Out_ PULONG        Size
     );
 
 extern VOID
 MacQueryPermanentAddress(
-    IN  PXENVIF_MAC         Mac,
-    OUT PETHERNET_ADDRESS   Address                   
+    _In_ PXENVIF_MAC        Mac,
+    _Out_ PETHERNET_ADDRESS Address
     );
 
 extern VOID
 MacQueryCurrentAddress(
-    IN  PXENVIF_MAC         Mac,
-    OUT PETHERNET_ADDRESS   Address                   
+    _In_ PXENVIF_MAC        Mac,
+    _Out_ PETHERNET_ADDRESS Address
     );
 
 extern VOID
 MacQueryBroadcastAddress(
-    IN  PXENVIF_MAC         Mac,
-    OUT PETHERNET_ADDRESS   Address                   
+    _In_ PXENVIF_MAC        Mac,
+    _Out_ PETHERNET_ADDRESS Address
     );
 
 extern NTSTATUS
 MacDumpAddressTable(
-    IN  PXENVIF_MAC     Mac
+    _In_ PXENVIF_MAC    Mac
     );
 
 extern NTSTATUS
 MacAddMulticastAddress(
-    IN      PXENVIF_MAC         Mac,
-    OUT     PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC        Mac,
+    _Out_ PETHERNET_ADDRESS Address
     );
 
 extern NTSTATUS
 MacRemoveMulticastAddress(
-    IN      PXENVIF_MAC         Mac,
-    OUT     PETHERNET_ADDRESS   Address
+    _In_ PXENVIF_MAC        Mac,
+    _Out_ PETHERNET_ADDRESS Address
     );
 
 extern NTSTATUS
 MacQueryMulticastAddresses(
-    IN      PXENVIF_MAC         Mac,
-    OUT     PETHERNET_ADDRESS   Address OPTIONAL,
-    IN OUT  PULONG              Count
+    _In_ PXENVIF_MAC            Mac,
+    _Out_opt_ PETHERNET_ADDRESS Address,
+    _Inout_ PULONG              Count
     );
 
 extern NTSTATUS
 MacSetFilterLevel(
-    IN  PXENVIF_MAC             Mac,
-    IN  ETHERNET_ADDRESS_TYPE   Type,
-    IN  XENVIF_MAC_FILTER_LEVEL Level
+    _In_ PXENVIF_MAC                Mac,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _In_ XENVIF_MAC_FILTER_LEVEL    Level
     );
 
 extern NTSTATUS
 MacQueryFilterLevel(
-    IN  PXENVIF_MAC                 Mac,
-    IN  ETHERNET_ADDRESS_TYPE       Type,
-    OUT PXENVIF_MAC_FILTER_LEVEL    Level
+    _In_ PXENVIF_MAC                Mac,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _Out_ PXENVIF_MAC_FILTER_LEVEL  Level
     );
 
 extern VOID
 MacQueryState(
-    IN  PXENVIF_MAC                 Mac,
-    OUT PNET_IF_MEDIA_CONNECT_STATE MediaConnectState OPTIONAL,
-    OUT PULONG64                    LinkSpeed OPTIONAL,
-    OUT PNET_IF_MEDIA_DUPLEX_STATE  MediaDuplexState OPTIONAL
+    _In_ PXENVIF_MAC                        Mac,
+    _Out_opt_ PNET_IF_MEDIA_CONNECT_STATE   MediaConnectState,
+    _Out_opt_ PULONG64                      LinkSpeed,
+    _Out_opt_ PNET_IF_MEDIA_DUPLEX_STATE    MediaDuplexState
     );
 
 extern BOOLEAN
 MacApplyFilters(
-    IN  PXENVIF_MAC         Mac,
-    IN  PETHERNET_ADDRESS   DestinationAddress
+    _In_ PXENVIF_MAC        Mac,
+    _In_ PETHERNET_ADDRESS  DestinationAddress
     );
 
 #endif  // _XENVIF_MAC_H
diff --git a/src/xenvif/mrsw.h b/src/xenvif/mrsw.h
index 8bfa441..6403afb 100644
--- a/src/xenvif/mrsw.h
+++ b/src/xenvif/mrsw.h
@@ -148,9 +148,9 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(APC_LEVEL)
 static FORCEINLINE NTSTATUS
 __InitializeMrswLock(
-    _Out_ struct _MRSW_LOCK     *Lock,
-    _In_ BOOLEAN                CacheAware,
-    _In_ ULONG                  Tag
+    _Out_ struct _MRSW_LOCK *Lock,
+    _In_ BOOLEAN            CacheAware,
+    _In_ ULONG              Tag
     )
 {
     KeInitializeGuardedMutex(&Lock->Mutex);
diff --git a/src/xenvif/mutex.h b/src/xenvif/mutex.h
index 5a0122f..00a2d9c 100644
--- a/src/xenvif/mutex.h
+++ b/src/xenvif/mutex.h
@@ -44,7 +44,7 @@ typedef struct _MUTEX {
 
 static FORCEINLINE VOID
 InitializeMutex(
-    IN  PMUTEX  Mutex
+    _In_ PMUTEX Mutex
     )
 {
     RtlZeroMemory(Mutex, sizeof (MUTEX));
@@ -53,9 +53,9 @@ InitializeMutex(
 }
 
 static FORCEINLINE VOID
-__drv_maxIRQL(PASSIVE_LEVEL)
+_IRQL_requires_max_(PASSIVE_LEVEL)
 AcquireMutex(
-    IN  PMUTEX  Mutex
+    _In_ PMUTEX Mutex
     )
 {
     (VOID) KeWaitForSingleObject(&Mutex->Event,
@@ -69,9 +69,9 @@ AcquireMutex(
 }
 
 static FORCEINLINE VOID
-__drv_maxIRQL(PASSIVE_LEVEL)
+_IRQL_requires_max_(PASSIVE_LEVEL)
 ReleaseMutex(
-    IN  PMUTEX  Mutex
+    _In_ PMUTEX Mutex
     )
 {
     ASSERT3P(Mutex->Owner, ==, KeGetCurrentThread());
diff --git a/src/xenvif/names.h b/src/xenvif/names.h
index bbd1517..f8263ea 100644
--- a/src/xenvif/names.h
+++ b/src/xenvif/names.h
@@ -279,7 +279,7 @@ DeviceUsageTypeName(
 
 static FORCEINLINE const CHAR *
 InterfaceTypeName(
-    IN  INTERFACE_TYPE  Type
+    _In_ INTERFACE_TYPE Type
     )
 {
 #define _INTERFACE_TYPE_NAME(_Type) \
@@ -317,7 +317,7 @@ InterfaceTypeName(
 
 static FORCEINLINE const CHAR *
 DmaWidthName(
-    IN  DMA_WIDTH   Width
+    _In_ DMA_WIDTH  Width
     )
 {
 #define _DMA_WIDTH_NAME(_Width) \
@@ -341,7 +341,7 @@ DmaWidthName(
 
 static FORCEINLINE const CHAR *
 DmaSpeedName(
-    IN  DMA_SPEED   Speed
+    _In_ DMA_SPEED  Speed
     )
 {
 #define _DMA_SPEED_NAME(_Speed) \
@@ -366,7 +366,7 @@ DmaSpeedName(
 
 static FORCEINLINE const PCHAR
 XenbusStateName(
-    IN  XenbusState   State
+    _In_ XenbusState    State
     )
 {
 #define _STATE_NAME(_State)     \
diff --git a/src/xenvif/parse.c b/src/xenvif/parse.c
index 4f4f773..4b860e6 100644
--- a/src/xenvif/parse.c
+++ b/src/xenvif/parse.c
@@ -46,13 +46,13 @@
 
 static FORCEINLINE BOOLEAN
 __ParsePullup(
-    IN      XENVIF_PARSE_PULLUP         Pullup,
-    IN      PVOID                       Argument,
-    IN      PUCHAR                      StartVa,
-    IN      ULONG                       StartLen,
-    IN      ULONG                       Offset,
-    IN      PXENVIF_PACKET_PAYLOAD      Payload,
-    IN      ULONG                       Length
+    _In_ XENVIF_PARSE_PULLUP    Pullup,
+    _In_ PVOID                  Argument,
+    _In_ PUCHAR                 StartVa,
+    _In_ ULONG                  StartLen,
+    _In_ ULONG                  Offset,
+    _In_ PXENVIF_PACKET_PAYLOAD Payload,
+    _In_ ULONG                  Length
     )
 {
     ASSERT3U(StartLen, >, Offset);
@@ -68,13 +68,13 @@ __ParsePullup(
 
 static FORCEINLINE NTSTATUS
 __ParseTcpHeader(
-    IN      PUCHAR                      StartVa,
-    IN      ULONG                       StartLen,
-    IN      ULONG                       Offset,
-    IN      XENVIF_PARSE_PULLUP         Pullup,
-    IN      PVOID                       Argument,
-    IN OUT  PXENVIF_PACKET_PAYLOAD      Payload,
-    OUT     PXENVIF_PACKET_INFO         Info
+    _In_ PUCHAR                         StartVa,
+    _In_ ULONG                          StartLen,
+    _In_ ULONG                          Offset,
+    _In_ XENVIF_PARSE_PULLUP            Pullup,
+    _In_ PVOID                          Argument,
+    _Inout_ PXENVIF_PACKET_PAYLOAD      Payload,
+    _Out_ PXENVIF_PACKET_INFO           Info
     )
 {
     PTCP_HEADER                         Header;
@@ -138,13 +138,13 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ParseUdpHeader(
-    IN      PUCHAR                      StartVa,
-    IN      ULONG                       StartLen,
-    IN      ULONG                       Offset,
-    IN      XENVIF_PARSE_PULLUP         Pullup,
-    IN      PVOID                       Argument,
-    IN OUT  PXENVIF_PACKET_PAYLOAD      Payload,
-    OUT     PXENVIF_PACKET_INFO         Info
+    _In_ PUCHAR                     StartVa,
+    _In_ ULONG                      StartLen,
+    _In_ ULONG                      Offset,
+    _In_ XENVIF_PARSE_PULLUP        Pullup,
+    _In_ PVOID                      Argument,
+    _Inout_ PXENVIF_PACKET_PAYLOAD  Payload,
+    _Out_ PXENVIF_PACKET_INFO       Info
     )
 {
     Info->UdpHeader.Offset = Offset;
@@ -174,13 +174,13 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ParseIpVersion4Header(
-    IN      PUCHAR                      StartVa,
-    IN      ULONG                       StartLen,
-    IN      ULONG                       Offset,
-    IN      XENVIF_PARSE_PULLUP         Pullup,
-    IN      PVOID                       Argument,
-    IN OUT  PXENVIF_PACKET_PAYLOAD      Payload,
-    OUT     PXENVIF_PACKET_INFO         Info
+    _In_ PUCHAR                         StartVa,
+    _In_ ULONG                          StartLen,
+    _In_ ULONG                          Offset,
+    _In_ XENVIF_PARSE_PULLUP            Pullup,
+    _In_ PVOID                          Argument,
+    _Inout_ PXENVIF_PACKET_PAYLOAD      Payload,
+    _Out_ PXENVIF_PACKET_INFO           Info
     )
 {
     PIPV4_HEADER                        Header;
@@ -289,13 +289,13 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ParseIpVersion6Header(
-    IN      PUCHAR                      StartVa,
-    IN      ULONG                       StartLen,
-    IN      ULONG                       Offset,
-    IN      XENVIF_PARSE_PULLUP         Pullup,
-    IN      PVOID                       Argument,
-    IN OUT  PXENVIF_PACKET_PAYLOAD      Payload,
-    OUT     PXENVIF_PACKET_INFO         Info
+    _In_ PUCHAR                         StartVa,
+    _In_ ULONG                          StartLen,
+    _In_ ULONG                          Offset,
+    _In_ XENVIF_PARSE_PULLUP            Pullup,
+    _In_ PVOID                          Argument,
+    _Inout_ PXENVIF_PACKET_PAYLOAD      Payload,
+    _Out_ PXENVIF_PACKET_INFO           Info
     )
 {
     PIPV6_HEADER                        Header;
@@ -493,13 +493,13 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ParseLLCSnapHeader(
-    IN      PUCHAR                      StartVa,
-    IN      ULONG                       StartLen,
-    IN      ULONG                       Offset,
-    IN      XENVIF_PARSE_PULLUP         Pullup,
-    IN      PVOID                       Argument,
-    IN OUT  PXENVIF_PACKET_PAYLOAD      Payload,
-    OUT     PXENVIF_PACKET_INFO         Info
+    _In_ PUCHAR                         StartVa,
+    _In_ ULONG                          StartLen,
+    _In_ ULONG                          Offset,
+    _In_ XENVIF_PARSE_PULLUP            Pullup,
+    _In_ PVOID                          Argument,
+    _Inout_ PXENVIF_PACKET_PAYLOAD      Payload,
+    _Out_ PXENVIF_PACKET_INFO           Info
     )
 {
     PLLC_SNAP_HEADER                    Header;
@@ -552,13 +552,13 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ParseEthernetHeader(
-    IN      PUCHAR                      StartVa,
-    IN      ULONG                       StartLen,
-    IN      ULONG                       Offset,
-    IN      XENVIF_PARSE_PULLUP         Pullup,
-    IN      PVOID                       Argument,
-    IN OUT  PXENVIF_PACKET_PAYLOAD      Payload,
-    OUT     PXENVIF_PACKET_INFO         Info
+    _In_ PUCHAR                         StartVa,
+    _In_ ULONG                          StartLen,
+    _In_ ULONG                          Offset,
+    _In_ XENVIF_PARSE_PULLUP            Pullup,
+    _In_ PVOID                          Argument,
+    _Inout_ PXENVIF_PACKET_PAYLOAD      Payload,
+    _Out_ PXENVIF_PACKET_INFO           Info
     )
 {
     PETHERNET_HEADER                    Header;
@@ -656,12 +656,12 @@ fail1:
 
 NTSTATUS
 ParsePacket(
-    IN      PUCHAR                      StartVa,
-    IN      ULONG                       StartLen,
-    IN      XENVIF_PARSE_PULLUP         Pullup,
-    IN      PVOID                       Argument,
-    IN OUT  PXENVIF_PACKET_PAYLOAD      Payload,
-    OUT     PXENVIF_PACKET_INFO         Info
+    _In_ PUCHAR                     StartVa,
+    _In_ ULONG                      StartLen,
+    _In_ XENVIF_PARSE_PULLUP        Pullup,
+    _In_ PVOID                      Argument,
+    _Inout_ PXENVIF_PACKET_PAYLOAD  Payload,
+    _Out_ PXENVIF_PACKET_INFO       Info
     )
 {
     ASSERT(IsZeroMemory(Info, sizeof (XENVIF_PACKET_INFO)));
diff --git a/src/xenvif/parse.h b/src/xenvif/parse.h
index 678991a..6e5a260 100644
--- a/src/xenvif/parse.h
+++ b/src/xenvif/parse.h
@@ -43,20 +43,20 @@ typedef struct _XENVIF_PACKET_PAYLOAD {
 
 typedef BOOLEAN
 (*XENVIF_PARSE_PULLUP)(
-    IN  PVOID                   Argument,
-    IN  PUCHAR                  Buffer,
-    IN  PXENVIF_PACKET_PAYLOAD  Payload,
-    IN  ULONG                   Length
+    _In_ PVOID                  Argument,
+    _In_ PUCHAR                 Buffer,
+    _In_ PXENVIF_PACKET_PAYLOAD Payload,
+    _In_ ULONG                  Length
     );
 
 extern NTSTATUS
 ParsePacket(
-    IN      PUCHAR                  StartVa,
-    IN      ULONG                   StartLen,
-    IN      XENVIF_PARSE_PULLUP     Pullup,
-    IN      PVOID                   Argument,
-    IN OUT  PXENVIF_PACKET_PAYLOAD  Payload,
-    OUT     PXENVIF_PACKET_INFO     Info
+    _In_ PUCHAR                     StartVa,
+    _In_ ULONG                      StartLen,
+    _In_ XENVIF_PARSE_PULLUP        Pullup,
+    _In_ PVOID                      Argument,
+    _Inout_ PXENVIF_PACKET_PAYLOAD  Payload,
+    _Out_ PXENVIF_PACKET_INFO       Info
     );
 
 #endif  // _XENVIF_PARSE_H
diff --git a/src/xenvif/pdo.c b/src/xenvif/pdo.c
index 82b4de4..66d3a32 100644
--- a/src/xenvif/pdo.c
+++ b/src/xenvif/pdo.c
@@ -99,7 +99,7 @@ struct _XENVIF_PDO {
 
 static FORCEINLINE PVOID
 __PdoAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, PDO_POOL);
@@ -107,7 +107,7 @@ __PdoAllocate(
 
 static FORCEINLINE VOID
 __PdoFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, PDO_POOL);
@@ -115,8 +115,8 @@ __PdoFree(
 
 static FORCEINLINE VOID
 __PdoSetDevicePnpState(
-    IN  PXENVIF_PDO         Pdo,
-    IN  DEVICE_PNP_STATE    State
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ DEVICE_PNP_STATE   State
     )
 {
     PXENVIF_DX              Dx = Pdo->Dx;
@@ -130,8 +130,8 @@ __PdoSetDevicePnpState(
 
 VOID
 PdoSetDevicePnpState(
-    IN  PXENVIF_PDO         Pdo,
-    IN  DEVICE_PNP_STATE    State
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ DEVICE_PNP_STATE   State
     )
 {
     __PdoSetDevicePnpState(Pdo, State);
@@ -139,8 +139,8 @@ PdoSetDevicePnpState(
 
 static FORCEINLINE VOID
 __PdoRestoreDevicePnpState(
-    IN  PXENVIF_PDO         Pdo,
-    IN  DEVICE_PNP_STATE    State
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ DEVICE_PNP_STATE   State
     )
 {
     PXENVIF_DX              Dx = Pdo->Dx;
@@ -151,17 +151,17 @@ __PdoRestoreDevicePnpState(
 
 static FORCEINLINE DEVICE_PNP_STATE
 __PdoGetDevicePnpState(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    PXENVIF_DX      Dx = Pdo->Dx;
+    PXENVIF_DX          Dx = Pdo->Dx;
 
     return Dx->DevicePnpState;
 }
 
 DEVICE_PNP_STATE
 PdoGetDevicePnpState(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoGetDevicePnpState(Pdo);
@@ -169,8 +169,8 @@ PdoGetDevicePnpState(
 
 static FORCEINLINE VOID
 __PdoSetSystemPowerState(
-    IN  PXENVIF_PDO         Pdo,
-    IN  SYSTEM_POWER_STATE  State
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ SYSTEM_POWER_STATE State
     )
 {
     PXENVIF_DX              Dx = Pdo->Dx;
@@ -180,18 +180,18 @@ __PdoSetSystemPowerState(
 
 static FORCEINLINE SYSTEM_POWER_STATE
 __PdoGetSystemPowerState(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    PXENVIF_DX      Dx = Pdo->Dx;
+    PXENVIF_DX          Dx = Pdo->Dx;
 
     return Dx->SystemPowerState;
 }
 
 static FORCEINLINE VOID
 __PdoSetDevicePowerState(
-    IN  PXENVIF_PDO         Pdo,
-    IN  DEVICE_POWER_STATE  State
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ DEVICE_POWER_STATE State
     )
 {
     PXENVIF_DX              Dx = Pdo->Dx;
@@ -201,18 +201,18 @@ __PdoSetDevicePowerState(
 
 static FORCEINLINE DEVICE_POWER_STATE
 __PdoGetDevicePowerState(
-    IN  PXENVIF_PDO         Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    PXENVIF_DX      Dx = Pdo->Dx;
+    PXENVIF_DX          Dx = Pdo->Dx;
 
     return Dx->DevicePowerState;
 }
 
 static FORCEINLINE VOID
 __PdoSetMissing(
-    IN  PXENVIF_PDO Pdo,
-    IN  const CHAR  *Reason
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ const CHAR     *Reason
     )
 {
     Pdo->Reason = Reason;
@@ -221,8 +221,8 @@ __PdoSetMissing(
 
 VOID
 PdoSetMissing(
-    IN  PXENVIF_PDO Pdo,
-    IN  const CHAR  *Reason
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ const CHAR     *Reason
     )
 {
     __PdoSetMissing(Pdo, Reason);
@@ -230,7 +230,7 @@ PdoSetMissing(
 
 static FORCEINLINE BOOLEAN
 __PdoIsMissing(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return Pdo->Missing;
@@ -238,7 +238,7 @@ __PdoIsMissing(
 
 BOOLEAN
 PdoIsMissing(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoIsMissing(Pdo);
@@ -246,7 +246,7 @@ PdoIsMissing(
 
 static FORCEINLINE PXENVIF_FDO
 __PdoGetFdo(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return Pdo->Fdo;
@@ -254,7 +254,7 @@ __PdoGetFdo(
 
 PXENVIF_FDO
 PdoGetFdo(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoGetFdo(Pdo);
@@ -262,12 +262,12 @@ PdoGetFdo(
 
 static FORCEINLINE VOID
 __PdoSetName(
-    IN  PXENVIF_PDO Pdo,
-    IN  ULONG       Number
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ ULONG          Number
     )
 {
-    PXENVIF_DX      Dx = Pdo->Dx;
-    NTSTATUS        status;
+    PXENVIF_DX          Dx = Pdo->Dx;
+    NTSTATUS            status;
 
     status = RtlStringCbPrintfA(Dx->Name, 
                                 MAX_DEVICE_ID_LEN, 
@@ -278,17 +278,17 @@ __PdoSetName(
 
 static FORCEINLINE PCHAR
 __PdoGetName(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    PXENVIF_DX      Dx = Pdo->Dx;
+    PXENVIF_DX          Dx = Pdo->Dx;
 
     return Dx->Name;
 }
 
 PCHAR
 PdoGetName(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoGetName(Pdo);
@@ -296,7 +296,7 @@ PdoGetName(
 
 static FORCEINLINE BOOLEAN
 __PdoSetEjectRequested(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return (InterlockedBitTestAndSet(&Pdo->Eject, 0) == 0) ? TRUE : FALSE;
@@ -304,12 +304,12 @@ __PdoSetEjectRequested(
 
 VOID
 PdoRequestEject(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    PXENVIF_DX      Dx = Pdo->Dx;
-    PDEVICE_OBJECT  PhysicalDeviceObject = Dx->DeviceObject;
-    PXENVIF_FDO     Fdo = __PdoGetFdo(Pdo);
+    PXENVIF_DX          Dx = Pdo->Dx;
+    PDEVICE_OBJECT      PhysicalDeviceObject = Dx->DeviceObject;
+    PXENVIF_FDO         Fdo = __PdoGetFdo(Pdo);
 
     if (!__PdoSetEjectRequested(Pdo))
         return;
@@ -324,7 +324,7 @@ PdoRequestEject(
 
 static FORCEINLINE BOOLEAN
 __PdoClearEjectRequested(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return (InterlockedBitTestAndReset(&Pdo->Eject, 0) != 0) ? TRUE : FALSE;
@@ -332,7 +332,7 @@ __PdoClearEjectRequested(
 
 static FORCEINLINE BOOLEAN
 __PdoIsEjectRequested(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     KeMemoryBarrier();
@@ -341,7 +341,7 @@ __PdoIsEjectRequested(
 
 BOOLEAN
 PdoIsEjectRequested(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoIsEjectRequested(Pdo);
@@ -353,7 +353,7 @@ DEFINE_GUID(GUID_CONTAINER_ID_NAME_SPACE,
 
 static NTSTATUS
 __PdoSetContainerID(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     BCRYPT_ALG_HANDLE   Algorithm;
@@ -552,10 +552,10 @@ static XENVIF_PDO_REVISION PdoRevision[] = {
 
 static VOID
 PdoDumpRevisions(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    ULONG           Index;
+    ULONG               Index;
 
     UNREFERENCED_PARAMETER(Pdo);
 
@@ -604,17 +604,17 @@ PdoDumpRevisions(
 
 static FORCEINLINE PDEVICE_OBJECT
 __PdoGetDeviceObject(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    PXENVIF_DX      Dx = Pdo->Dx;
+    PXENVIF_DX          Dx = Pdo->Dx;
 
     return (Dx->DeviceObject);
 }
     
 PDEVICE_OBJECT
 PdoGetDeviceObject(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoGetDeviceObject(Pdo);
@@ -622,7 +622,7 @@ PdoGetDeviceObject(
 
 static FORCEINLINE PCHAR
 __PdoGetVendorName(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return FdoGetVendorName(__PdoGetFdo(Pdo));
@@ -630,7 +630,7 @@ __PdoGetVendorName(
 
 static FORCEINLINE PXENVIF_FRONTEND
 __PdoGetFrontend(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return Pdo->Frontend;
@@ -638,7 +638,7 @@ __PdoGetFrontend(
 
 PXENVIF_FRONTEND
 PdoGetFrontend(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoGetFrontend(Pdo);
@@ -646,7 +646,7 @@ PdoGetFrontend(
 
 static FORCEINLINE PXENVIF_VIF_CONTEXT
 __PdoGetVifContext(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return Pdo->VifContext;
@@ -654,7 +654,7 @@ __PdoGetVifContext(
 
 PXENVIF_VIF_CONTEXT
 PdoGetVifContext(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoGetVifContext(Pdo);
@@ -662,8 +662,8 @@ PdoGetVifContext(
 
 static FORCEINLINE NTSTATUS
 __PdoParseAddress(
-    IN  PCHAR               Buffer,
-    OUT PETHERNET_ADDRESS   Address
+    _In_ PCHAR              Buffer,
+    _Out_ PETHERNET_ADDRESS Address
     )
 {
     ULONG                   Length;
@@ -730,12 +730,12 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __PdoSetPermanentAddress(
-    IN  PXENVIF_PDO Pdo,
-    IN  PCHAR       Buffer
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PCHAR          Buffer
     )
 {
-    ANSI_STRING     Ansi[2];
-    NTSTATUS        status;
+    ANSI_STRING         Ansi[2];
+    NTSTATUS            status;
 
     status = __PdoParseAddress(Buffer, &Pdo->PermanentAddress);
     if (!NT_SUCCESS(status))
@@ -766,7 +766,7 @@ fail1:
 
 static FORCEINLINE PETHERNET_ADDRESS
 __PdoGetPermanentAddress(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return &Pdo->PermanentAddress;
@@ -774,7 +774,7 @@ __PdoGetPermanentAddress(
 
 PETHERNET_ADDRESS
 PdoGetPermanentAddress(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return __PdoGetPermanentAddress(Pdo);
@@ -782,7 +782,7 @@ PdoGetPermanentAddress(
 
 static FORCEINLINE VOID
 __PdoClearPermanentAddress(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     (VOID) RegistryDeleteValue(DriverGetAddressesKey(),
@@ -793,15 +793,15 @@ __PdoClearPermanentAddress(
 
 static NTSTATUS
 PdoSetFriendlyName(
-    IN  PXENVIF_PDO Pdo,
-    IN  HANDLE      SoftwareKey,
-    IN  HANDLE      HardwareKey
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ HANDLE         SoftwareKey,
+    _In_ HANDLE         HardwareKey
     )
 {
-    PANSI_STRING    DriverDesc;
-    CHAR            Buffer[MAXNAMELEN];
-    ANSI_STRING     Ansi[2];
-    NTSTATUS        status;
+    PANSI_STRING        DriverDesc;
+    CHAR                Buffer[MAXNAMELEN];
+    ANSI_STRING         Ansi[2];
+    NTSTATUS            status;
 
     status = RegistryQuerySzValue(SoftwareKey,
                                   "DriverDesc",
@@ -849,12 +849,12 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __PdoSetCurrentAddress(
-    IN  PXENVIF_PDO Pdo,
-    IN  HANDLE      Key
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ HANDLE         Key
     )
 {
-    PANSI_STRING    Ansi;
-    NTSTATUS        status;
+    PANSI_STRING        Ansi;
+    NTSTATUS            status;
 
     RtlFillMemory(Pdo->CurrentAddress.Byte, ETHERNET_ADDRESS_LENGTH, 0xFF);
 
@@ -886,7 +886,7 @@ fail1:
 
 PETHERNET_ADDRESS
 PdoGetCurrentAddress(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return &Pdo->CurrentAddress;
@@ -894,9 +894,9 @@ PdoGetCurrentAddress(
 
 PDMA_ADAPTER
 PdoGetDmaAdapter(
-    IN  PXENVIF_PDO         Pdo,
-    IN  PDEVICE_DESCRIPTION DeviceDescriptor,
-    OUT PULONG              NumberOfMapRegisters
+    _In_ PXENVIF_PDO            Pdo,
+    _In_ PDEVICE_DESCRIPTION    DeviceDescriptor,
+    _Out_ PULONG                NumberOfMapRegisters
     )
 {
     Trace("<===>\n");
@@ -908,11 +908,11 @@ PdoGetDmaAdapter(
 
 BOOLEAN
 PdoTranslateBusAddress(
-    IN      PXENVIF_PDO         Pdo,
-    IN      PHYSICAL_ADDRESS    BusAddress,
-    IN      ULONG               Length,
-    IN OUT  PULONG              AddressSpace,
-    OUT     PPHYSICAL_ADDRESS   TranslatedAddress
+    _In_ PXENVIF_PDO            Pdo,
+    _In_ PHYSICAL_ADDRESS       BusAddress,
+    _In_ ULONG                  Length,
+    _Inout_ PULONG              AddressSpace,
+    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
     )
 {
     Trace("<===>\n");
@@ -926,11 +926,11 @@ PdoTranslateBusAddress(
 
 ULONG
 PdoSetBusData(
-    IN  PXENVIF_PDO     Pdo,
-    IN  ULONG           DataType,
-    IN  PVOID           Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ ULONG          DataType,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Offset,
+    _In_ ULONG          Length
     )
 {
     Trace("<===>\n");
@@ -944,11 +944,11 @@ PdoSetBusData(
 
 ULONG
 PdoGetBusData(
-    IN  PXENVIF_PDO     Pdo,
-    IN  ULONG           DataType,
-    IN  PVOID           Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ ULONG          DataType,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Offset,
+    _In_ ULONG          Length
     )
 {
     Trace("<===>\n");
@@ -962,7 +962,7 @@ PdoGetBusData(
 
 static FORCEINLINE NTSTATUS
 __PdoD3ToD0(
-    IN  PXENVIF_PDO             Pdo
+    _In_ PXENVIF_PDO            Pdo
     )
 {
     POWER_STATE                 PowerState;
@@ -996,7 +996,7 @@ fail1:
 
 static FORCEINLINE VOID
 __PdoD0ToD3(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     POWER_STATE         PowerState;
@@ -1020,7 +1020,7 @@ __PdoD0ToD3(
 
 static DECLSPEC_NOINLINE VOID
 PdoSuspendCallbackLate(
-    IN  PVOID               Argument
+    _In_ PVOID              Argument
     )
 {
     PXENVIF_PDO             Pdo = Argument;
@@ -1035,11 +1035,11 @@ PdoSuspendCallbackLate(
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE NTSTATUS
 PdoD3ToD0(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    KIRQL           Irql;
-    NTSTATUS        status;
+    KIRQL               Irql;
+    NTSTATUS            status;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
 
@@ -1087,10 +1087,10 @@ fail1:
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE VOID
 PdoD0ToD3(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    KIRQL           Irql;
+    KIRQL               Irql;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
 
@@ -1111,7 +1111,7 @@ PdoD0ToD3(
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE VOID
 PdoS4ToS3(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     Trace("(%s) ====>\n", __PdoGetName(Pdo));
@@ -1127,7 +1127,7 @@ PdoS4ToS3(
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE VOID
 PdoS3ToS4(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     Trace("(%s) ====>\n", __PdoGetName(Pdo));
@@ -1142,14 +1142,14 @@ PdoS3ToS4(
 
 static NTSTATUS
 PdoGetInterfaceGuid(
-    IN  PXENVIF_PDO Pdo,
-    IN  HANDLE      Key,
-    OUT LPGUID      Guid
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ HANDLE         Key,
+    _Out_ LPGUID        Guid
     )
 {
-    PANSI_STRING    Ansi;
-    UNICODE_STRING  Unicode;
-    NTSTATUS        status;
+    PANSI_STRING        Ansi;
+    UNICODE_STRING      Unicode;
+    NTSTATUS            status;
 
     UNREFERENCED_PARAMETER(Pdo);
 
@@ -1192,13 +1192,13 @@ fail1:
 
 static NTSTATUS
 PdoGetInterfaceLuid(
-    IN  PXENVIF_PDO Pdo,
-    IN  HANDLE      Key,
-    OUT PNET_LUID   Luid
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ HANDLE         Key,
+    _Out_ PNET_LUID     Luid
     )
 {
-    ULONG           Value;
-    NTSTATUS        status;
+    ULONG               Value;
+    NTSTATUS            status;
 
     UNREFERENCED_PARAMETER(Pdo);
 
@@ -1235,11 +1235,11 @@ fail1:
 
 static VOID
 PdoUnplugRequest(
-    IN  PXENVIF_PDO Pdo,
-    IN  BOOLEAN     Make
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ BOOLEAN        Make
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     // When a driver is restarted, PdoUnplugRequest is called again,
     // dont increment the unplug count again.
@@ -1262,10 +1262,10 @@ PdoUnplugRequest(
 
 static VOID
 PdoRequestReboot(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     status = XENBUS_UNPLUG(Acquire, &Pdo->UnplugInterface);
     if (!NT_SUCCESS(status))
@@ -1280,11 +1280,11 @@ PdoRequestReboot(
 
 static BOOLEAN
 PdoUnplugRequested(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    BOOLEAN         State;
-    NTSTATUS        status;
+    BOOLEAN             State;
+    NTSTATUS            status;
 
     status = XENBUS_UNPLUG(Acquire, &Pdo->UnplugInterface);
     if (!NT_SUCCESS(status))
@@ -1301,8 +1301,8 @@ PdoUnplugRequested(
 
 static FORCEINLINE NTSTATUS
 PdoParseMibTable(
-    IN  PXENVIF_PDO     Pdo,
-    IN  HANDLE          SoftwareKey
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ HANDLE         SoftwareKey
     )
 {
     NTSTATUS            (*__GetIfTable2)(PMIB_IF_TABLE2 *);
@@ -1428,8 +1428,8 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoStartDevice(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1520,11 +1520,11 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoQueryStopDevice(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __PdoSetDevicePnpState(Pdo, StopPending);
     status = STATUS_SUCCESS;
@@ -1537,11 +1537,11 @@ PdoQueryStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoCancelStopDevice(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __PdoRestoreDevicePnpState(Pdo, StopPending);
     status = STATUS_SUCCESS;
@@ -1554,8 +1554,8 @@ PdoCancelStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoStopDevice(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     NTSTATUS            status;
@@ -1581,11 +1581,11 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoQueryRemoveDevice(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __PdoSetDevicePnpState(Pdo, RemovePending);
     status = STATUS_SUCCESS;
@@ -1598,11 +1598,11 @@ PdoQueryRemoveDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoCancelRemoveDevice(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     if (__PdoClearEjectRequested(Pdo))
         FrontendEjectFailed(__PdoGetFrontend(Pdo));
@@ -1618,11 +1618,11 @@ PdoCancelRemoveDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoSurpriseRemoval(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     Warning("%s\n", __PdoGetName(Pdo));
 
@@ -1637,8 +1637,8 @@ PdoSurpriseRemoval(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoRemoveDevice(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PXENVIF_FDO         Fdo = __PdoGetFdo(Pdo);
@@ -1688,8 +1688,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoQueryDeviceRelations(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1725,8 +1725,8 @@ done:
 
 static NTSTATUS
 PdoDelegateIrp(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     return FdoDelegateIrp(Pdo->Fdo, Irp);
@@ -1734,8 +1734,8 @@ PdoDelegateIrp(
 
 static NTSTATUS
 PdoQueryBusInterface(
-    IN  PXENVIF_PDO         Pdo,
-    IN  PIRP                Irp
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ PIRP               Irp
     )
 {
     PIO_STACK_LOCATION      StackLocation;
@@ -1770,8 +1770,8 @@ done:
 
 static NTSTATUS
 PdoQueryVifInterface(
-    IN  PXENVIF_PDO         Pdo,
-    IN  PIRP                Irp
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ PIRP               Irp
     )
 {
     PIO_STACK_LOCATION      StackLocation;
@@ -1821,8 +1821,8 @@ struct _INTERFACE_ENTRY PdoInterfaceTable[] = {
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoQueryInterface(
-    IN  PXENVIF_PDO         Pdo,
-    IN  PIRP                Irp
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ PIRP               Irp
     )
 {
     PIO_STACK_LOCATION      StackLocation;
@@ -1860,8 +1860,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoQueryCapabilities(
-    IN  PXENVIF_PDO         Pdo,
-    IN  PIRP                Irp
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ PIRP               Irp
     )
 {
     PIO_STACK_LOCATION      StackLocation;
@@ -1928,8 +1928,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoQueryDeviceText(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2011,8 +2011,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoReadConfig(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     UNREFERENCED_PARAMETER(Pdo);
@@ -2025,8 +2025,8 @@ PdoReadConfig(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoWriteConfig(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     UNREFERENCED_PARAMETER(Pdo);
@@ -2041,8 +2041,8 @@ PdoWriteConfig(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoQueryId(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2214,8 +2214,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoQueryBusInformation(
-    IN  PXENVIF_PDO         Pdo,
-    IN  PIRP                Irp
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ PIRP               Irp
     )
 {
     PPNP_BUS_INFORMATION    Info;
@@ -2245,11 +2245,11 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoDeviceUsageNotification(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     status = PdoDelegateIrp(Pdo, Irp);
 
@@ -2261,12 +2261,12 @@ PdoDeviceUsageNotification(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoEject(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
-    PXENVIF_FDO     Fdo = __PdoGetFdo(Pdo);
-    NTSTATUS        status;
+    PXENVIF_FDO         Fdo = __PdoGetFdo(Pdo);
+    NTSTATUS            status;
 
     Trace("%s\n", __PdoGetName(Pdo));
 
@@ -2290,8 +2290,8 @@ PdoEject(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoDispatchPnp(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2393,12 +2393,12 @@ PdoDispatchPnp(
     return status;
 }
 
-__drv_functionClass(IO_WORKITEM_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_WORKITEM_ROUTINE)
+_IRQL_requires_same_
 static VOID
 PdoDevicePowerWorker(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_PDO         Pdo = (PXENVIF_PDO)Context;
@@ -2447,8 +2447,8 @@ PdoDevicePowerWorker(
 
 static FORCEINLINE NTSTATUS
 __PdoSetDevicePower(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2477,12 +2477,12 @@ __PdoSetDevicePower(
     return STATUS_PENDING;
 }
 
-__drv_functionClass(IO_WORKITEM_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_WORKITEM_ROUTINE)
+_IRQL_requires_same_
 static VOID
 PdoSystemPowerWorker(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PVOID          Context
     )
 {
     PXENVIF_PDO         Pdo = (PXENVIF_PDO)Context;
@@ -2537,8 +2537,8 @@ PdoSystemPowerWorker(
 
 static FORCEINLINE NTSTATUS
 __PdoSetSystemPower(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2569,8 +2569,8 @@ __PdoSetSystemPower(
 
 static FORCEINLINE NTSTATUS
 __PdoSetPower(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2600,8 +2600,8 @@ __PdoSetPower(
 
 static FORCEINLINE NTSTATUS
 __PdoQueryPower(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     UNREFERENCED_PARAMETER(Pdo);
@@ -2614,8 +2614,8 @@ __PdoQueryPower(
 
 static NTSTATUS
 PdoDispatchPower(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2643,11 +2643,11 @@ PdoDispatchPower(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoDispatchDefault(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     UNREFERENCED_PARAMETER(Pdo);
 
@@ -2659,8 +2659,8 @@ PdoDispatchDefault(
 
 NTSTATUS
 PdoDispatch(
-    IN  PXENVIF_PDO     Pdo,
-    IN  PIRP            Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2687,7 +2687,7 @@ PdoDispatch(
 
 NTSTATUS
 PdoResume(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     return FrontendResume(__PdoGetFrontend(Pdo));
@@ -2695,7 +2695,7 @@ PdoResume(
 
 VOID
 PdoSuspend(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
     FrontendSuspend(__PdoGetFrontend(Pdo));
@@ -2703,9 +2703,9 @@ PdoSuspend(
 
 NTSTATUS
 PdoCreate(
-    IN  PXENVIF_FDO     Fdo,
-    IN  ULONG           Number,
-    IN  PCHAR           Address
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ ULONG          Number,
+    _In_ PCHAR          Address
     )
 {
     PDEVICE_OBJECT      PhysicalDeviceObject;
@@ -2871,12 +2871,12 @@ fail1:
 
 VOID
 PdoDestroy(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     )
 {
-    PXENVIF_DX      Dx = Pdo->Dx;
-    PDEVICE_OBJECT  PhysicalDeviceObject = Dx->DeviceObject;
-    PXENVIF_FDO     Fdo = __PdoGetFdo(Pdo);
+    PXENVIF_DX          Dx = Pdo->Dx;
+    PDEVICE_OBJECT      PhysicalDeviceObject = Dx->DeviceObject;
+    PXENVIF_FDO         Fdo = __PdoGetFdo(Pdo);
 
     Pdo->UnplugRequested = FALSE;
 
diff --git a/src/xenvif/pdo.h b/src/xenvif/pdo.h
index 80dfda8..cb8e29b 100644
--- a/src/xenvif/pdo.h
+++ b/src/xenvif/pdo.h
@@ -42,172 +42,172 @@
 
 extern VOID
 PdoSetDevicePnpState(
-    IN  PXENVIF_PDO         Pdo,
-    IN  DEVICE_PNP_STATE    State
+    _In_ PXENVIF_PDO        Pdo,
+    _In_ DEVICE_PNP_STATE   State
     );
 
 extern DEVICE_PNP_STATE
 PdoGetDevicePnpState(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern VOID
 PdoSetMissing(
-    IN  PXENVIF_PDO Pdo,
-    IN  const CHAR  *Reason
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ const CHAR     *Reason
     );
 
 extern BOOLEAN
 PdoIsMissing(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern VOID
 PdoRequestEject(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern BOOLEAN
 PdoIsEjectRequested(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PCHAR
 PdoGetName(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PXENVIF_FDO
 PdoGetFdo(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PDEVICE_OBJECT
 PdoGetDeviceObject(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 #include "vif.h"
 
 extern PXENVIF_VIF_CONTEXT
 PdoGetVifContext(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PDMA_ADAPTER
 PdoGetDmaAdapter(
-    IN  PXENVIF_PDO         Pdo,
-    IN  PDEVICE_DESCRIPTION DeviceDescriptor,
-    OUT PULONG              NumberOfMapRegisters
+    _In_ PXENVIF_PDO            Pdo,
+    _In_ PDEVICE_DESCRIPTION    DeviceDescriptor,
+    _Out_ PULONG                NumberOfMapRegisters
     );
 
 extern BOOLEAN
 PdoTranslateBusAddress(
-    IN      PXENVIF_PDO         Pdo,
-    IN      PHYSICAL_ADDRESS    BusAddress,
-    IN      ULONG               Length,
-    IN OUT  PULONG              AddressSpace,
-    OUT     PPHYSICAL_ADDRESS   TranslatedAddress
+    _In_ PXENVIF_PDO            Pdo,
+    _In_ PHYSICAL_ADDRESS       BusAddress,
+    _In_ ULONG                  Length,
+    _Inout_ PULONG              AddressSpace,
+    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
     );
 
 extern ULONG
 PdoSetBusData(
-    IN  PXENVIF_PDO     Pdo,
-    IN  ULONG           DataType,
-    IN  PVOID           Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ ULONG          DataType,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Offset,
+    _In_ ULONG          Length
     );
 
 extern ULONG
 PdoGetBusData(
-    IN  PXENVIF_PDO     Pdo,
-    IN  ULONG           DataType,
-    IN  PVOID           Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ ULONG          DataType,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Offset,
+    _In_ ULONG          Length
     );
 
 extern PETHERNET_ADDRESS
 PdoGetPermanentAddress(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PETHERNET_ADDRESS
 PdoGetCurrentAddress(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern NTSTATUS
 PdoCreate(
-    IN  PXENVIF_FDO Fdo,
-    IN  ULONG       Number,
-    IN  PCHAR       Address
+    _In_ PXENVIF_FDO    Fdo,
+    _In_ ULONG          Number,
+    _In_ PCHAR          Address
     );
 
 extern NTSTATUS
 PdoResume(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern VOID
 PdoSuspend(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern VOID
 PdoDestroy(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 #include "frontend.h"
 
 extern PXENVIF_FRONTEND
 PdoGetFrontend(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PXENBUS_EVTCHN_INTERFACE
 PdoGetEvtchnInterface(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PXENBUS_DEBUG_INTERFACE
 PdoGetDebugInterface(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PXENBUS_STORE_INTERFACE
 PdoGetStoreInterface(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PXENBUS_CACHE_INTERFACE
 PdoGetCacheInterface(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PXENBUS_GNTTAB_INTERFACE
 PdoGetGnttabInterface(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern PXENBUS_SUSPEND_INTERFACE
 PdoGetSuspendInterface(
-    IN  PXENVIF_PDO     Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 #include "vif.h"
 
 extern PXENVIF_VIF_INTERFACE
 PdoGetVifInterface(
-    IN  PXENVIF_PDO Pdo
+    _In_ PXENVIF_PDO    Pdo
     );
 
 extern NTSTATUS
 PdoDispatch(
-    IN  PXENVIF_PDO Pdo,
-    IN  PIRP        Irp
+    _In_ PXENVIF_PDO    Pdo,
+    _In_ PIRP           Irp
     );
 
 #endif  // _XENVIF_PDO_H
diff --git a/src/xenvif/receiver.c b/src/xenvif/receiver.c
index 93ad5e8..29ae090 100644
--- a/src/xenvif/receiver.c
+++ b/src/xenvif/receiver.c
@@ -155,7 +155,7 @@ struct _XENVIF_RECEIVER {
 
 static FORCEINLINE PVOID
 __ReceiverAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, XENVIF_RECEIVER_TAG);
@@ -163,7 +163,7 @@ __ReceiverAllocate(
 
 static FORCEINLINE VOID
 __ReceiverFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, XENVIF_RECEIVER_TAG);
@@ -171,10 +171,10 @@ __ReceiverFree(
 
 static VOID FORCEINLINE
 __ReceiverPacketMdlInit(
-    IN  PXENVIF_RECEIVER_PACKET Packet
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
-    PMDL    Mdl = Packet->SystemMdl;
+    PMDL                            Mdl = Packet->SystemMdl;
 
     ASSERT(IsZeroMemory(&Packet->Mdl, sizeof (MDL)));
 
@@ -193,8 +193,8 @@ __ReceiverPacketMdlInit(
 
 static NTSTATUS
 ReceiverPacketCtor(
-    IN  PVOID               Argument,
-    IN  PVOID               Object
+    _In_ PVOID              Argument,
+    _In_ PVOID              Object
     )
 {
     PXENVIF_RECEIVER_RING   Ring = Argument;
@@ -230,8 +230,8 @@ fail1:
 
 static VOID
 ReceiverPacketDtor(
-    IN  PVOID               Argument,
-    IN  PVOID               Object
+    _In_ PVOID              Argument,
+    _In_ PVOID              Object
     )
 {
     PXENVIF_RECEIVER_RING   Ring = Argument;
@@ -253,8 +253,8 @@ ReceiverPacketDtor(
 
 static FORCEINLINE PXENVIF_RECEIVER_PACKET
 __ReceiverRingGetPacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  BOOLEAN                 Locked
+    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _In_ BOOLEAN                Locked
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -279,13 +279,13 @@ __ReceiverRingGetPacket(
 
 static FORCEINLINE VOID
 __ReceiverRingPutPacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet,
-    IN  BOOLEAN                 Locked
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet,
+    _In_ BOOLEAN                    Locked
     )
 {
-    PXENVIF_RECEIVER            Receiver;
-    PXENVIF_FRONTEND            Frontend;
+    PXENVIF_RECEIVER                Receiver;
+    PXENVIF_FRONTEND                Frontend;
 
     Receiver = Ring->Receiver;
     Frontend = Receiver->Frontend;
@@ -315,8 +315,8 @@ __ReceiverRingPutPacket(
 
 static FORCEINLINE PMDL
 __ReceiverRingGetMdl(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  BOOLEAN                 Locked
+    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _In_ BOOLEAN                Locked
     )
 {
     PXENVIF_RECEIVER_PACKET     Packet;
@@ -330,9 +330,9 @@ __ReceiverRingGetMdl(
 
 static FORCEINLINE VOID
 __ReceiverRingPutMdl(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PMDL                    Mdl,
-    IN  BOOLEAN                 Locked
+    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _In_ PMDL                   Mdl,
+    _In_ BOOLEAN                Locked
     )
 {
     PXENVIF_RECEIVER_PACKET     Packet;
@@ -343,8 +343,8 @@ __ReceiverRingPutMdl(
 
 static NTSTATUS
 ReceiverFragmentCtor(
-    IN  PVOID                   Argument,
-    IN  PVOID                   Object
+    _In_ PVOID                  Argument,
+    _In_ PVOID                  Object
     )
 {
     PXENVIF_RECEIVER_FRAGMENT   Fragment = Object;
@@ -358,8 +358,8 @@ ReceiverFragmentCtor(
 
 static VOID
 ReceiverFragmentDtor(
-    IN  PVOID                   Argument,
-    IN  PVOID                   Object
+    _In_ PVOID                  Argument,
+    _In_ PVOID                  Object
     )
 {
     PXENVIF_RECEIVER_FRAGMENT   Fragment = Object;
@@ -371,7 +371,7 @@ ReceiverFragmentDtor(
 
 static FORCEINLINE PXENVIF_RECEIVER_FRAGMENT
 __ReceiverRingGetFragment(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -388,8 +388,8 @@ __ReceiverRingGetFragment(
 
 static FORCEINLINE
 __ReceiverRingPutFragment(
-    IN  PXENVIF_RECEIVER_RING       Ring,
-    IN  PXENVIF_RECEIVER_FRAGMENT   Fragment
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_FRAGMENT  Fragment
     )
 {
     PXENVIF_RECEIVER                Receiver;
@@ -409,15 +409,15 @@ __ReceiverRingPutFragment(
 
 static DECLSPEC_NOINLINE VOID
 ReceiverRingProcessTag(
-    IN  PXENVIF_RECEIVER_RING    Ring,
-    IN  PXENVIF_RECEIVER_PACKET  Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
-    PXENVIF_PACKET_INFO          Info;
-    ULONG                        PayloadLength;
-    PUCHAR                       BaseVa;
-    PETHERNET_HEADER             EthernetHeader;
-    ULONG                        Offset;
+    PXENVIF_PACKET_INFO             Info;
+    ULONG                           PayloadLength;
+    PUCHAR                          BaseVa;
+    PETHERNET_HEADER                EthernetHeader;
+    ULONG                           Offset;
 
     Info = &Packet->Info;
 
@@ -476,17 +476,17 @@ ReceiverRingProcessTag(
 
 static DECLSPEC_NOINLINE VOID
 ReceiverRingProcessChecksum(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
-    PXENVIF_RECEIVER            Receiver;
-    PXENVIF_FRONTEND            Frontend;
-    PXENVIF_PACKET_INFO         Info;
-    XENVIF_PACKET_PAYLOAD       Payload;
-    uint16_t                    flags;
-    PUCHAR                      BaseVa;
-    PIP_HEADER                  IpHeader;
+    PXENVIF_RECEIVER                Receiver;
+    PXENVIF_FRONTEND                Frontend;
+    PXENVIF_PACKET_INFO             Info;
+    XENVIF_PACKET_PAYLOAD           Payload;
+    uint16_t                        flags;
+    PUCHAR                          BaseVa;
+    PIP_HEADER                      IpHeader;
 
     Receiver = Ring->Receiver;
     Frontend = Receiver->Frontend;
@@ -648,10 +648,10 @@ ReceiverRingProcessChecksum(
 
 static BOOLEAN
 ReceiverRingPullup(
-    IN      PVOID                   Argument,
-    IN      PUCHAR                  DestinationVa,
-    IN OUT  PXENVIF_PACKET_PAYLOAD  Payload,
-    IN      ULONG                   Length
+    _In_ PVOID                      Argument,
+    _In_ PUCHAR                     DestinationVa,
+    _Inout_ PXENVIF_PACKET_PAYLOAD  Payload,
+    _In_ ULONG                      Length
     )
 {
     PMDL                            Mdl;
@@ -706,13 +706,13 @@ fail1:
 
 static FORCEINLINE VOID
 __ReceiverRingPullupPacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
-    PUCHAR                      BaseVa;
-    XENVIF_PACKET_PAYLOAD       Payload;
-    ULONG                       Length;
+    PUCHAR                          BaseVa;
+    XENVIF_PACKET_PAYLOAD           Payload;
+    ULONG                           Length;
 
     ASSERT(Packet->Mdl.MdlFlags & MDL_MAPPED_TO_SYSTEM_VA);
     BaseVa = Packet->Mdl.MappedSystemVa;
@@ -737,22 +737,22 @@ __ReceiverRingPullupPacket(
 
 static FORCEINLINE PXENVIF_RECEIVER_PACKET
 __ReceiverRingBuildSegment(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet,
-    IN  ULONG                   SegmentSize,
-    IN  PXENVIF_PACKET_PAYLOAD  Payload
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet,
+    _In_ ULONG                      SegmentSize,
+    _In_ PXENVIF_PACKET_PAYLOAD     Payload
     )
 {
-    PXENVIF_RECEIVER            Receiver;
-    PXENVIF_PACKET_INFO         Info;
-    PXENVIF_RECEIVER_PACKET     Segment;
-    PMDL                        Mdl;
-    PUCHAR                      InfoVa;
-    PUCHAR                      BaseVa;
-    PIP_HEADER                  IpHeader;
-    PTCP_HEADER                 TcpHeader;
-    ULONG                       Seq;
-    NTSTATUS                    status;
+    PXENVIF_RECEIVER                Receiver;
+    PXENVIF_PACKET_INFO             Info;
+    PXENVIF_RECEIVER_PACKET         Segment;
+    PMDL                            Mdl;
+    PUCHAR                          InfoVa;
+    PUCHAR                          BaseVa;
+    PIP_HEADER                      IpHeader;
+    PTCP_HEADER                     TcpHeader;
+    ULONG                           Seq;
+    NTSTATUS                        status;
 
     Receiver = Ring->Receiver;
 
@@ -920,8 +920,8 @@ fail1:
 
 static VOID
 ReceiverRingCompletePacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
     ReceiverRingProcessTag(Ring, Packet);
@@ -933,20 +933,20 @@ ReceiverRingCompletePacket(
 
 static VOID
 ReceiverRingProcessLargePacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
-    PXENVIF_RECEIVER            Receiver;
-    PXENVIF_FRONTEND            Frontend;
-    BOOLEAN                     Offload;
-    PXENVIF_PACKET_INFO         Info;
-    uint16_t                    flags;
-    XENVIF_PACKET_PAYLOAD       Payload;
-    PUCHAR                      InfoVa;
-    PIP_HEADER                  IpHeader;
-    ULONG                       Length;
-    NTSTATUS                    status;
+    PXENVIF_RECEIVER                Receiver;
+    PXENVIF_FRONTEND                Frontend;
+    BOOLEAN                         Offload;
+    PXENVIF_PACKET_INFO             Info;
+    uint16_t                        flags;
+    XENVIF_PACKET_PAYLOAD           Payload;
+    PUCHAR                          InfoVa;
+    PIP_HEADER                      IpHeader;
+    ULONG                           Length;
+    NTSTATUS                        status;
 
     Receiver = Ring->Receiver;
     Frontend = Receiver->Frontend;
@@ -1107,17 +1107,17 @@ fail1:
 
 static VOID
 ReceiverRingProcessStandardPacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
-    PXENVIF_RECEIVER            Receiver;
-    PXENVIF_FRONTEND            Frontend;
-    PXENVIF_MAC                 Mac;
-    PXENVIF_PACKET_INFO         Info;
-    XENVIF_PACKET_PAYLOAD       Payload;
-    ULONG                       MaximumFrameSize;
-    NTSTATUS                    status;
+    PXENVIF_RECEIVER                Receiver;
+    PXENVIF_FRONTEND                Frontend;
+    PXENVIF_MAC                     Mac;
+    PXENVIF_PACKET_INFO             Info;
+    XENVIF_PACKET_PAYLOAD           Payload;
+    ULONG                           MaximumFrameSize;
+    NTSTATUS                        status;
 
     Receiver = Ring->Receiver;
     Frontend = Receiver->Frontend;
@@ -1210,8 +1210,8 @@ fail1:
 
 static VOID
 ReceiverRingProcessPacket(
-    IN  PXENVIF_RECEIVER_RING       Ring,
-    IN  PXENVIF_RECEIVER_PACKET     Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
     PXENVIF_RECEIVER                Receiver;
@@ -1341,7 +1341,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingSwizzle(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -1582,7 +1582,7 @@ __ReceiverRingSwizzle(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingAcquireLock(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -1593,7 +1593,7 @@ __ReceiverRingAcquireLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static DECLSPEC_NOINLINE VOID
 ReceiverRingAcquireLock(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     __ReceiverRingAcquireLock(Ring);
@@ -1602,7 +1602,7 @@ ReceiverRingAcquireLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingReleaseLock(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -1614,7 +1614,7 @@ __ReceiverRingReleaseLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static DECLSPEC_NOINLINE VOID
 ReceiverRingReleaseLock(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     __ReceiverRingReleaseLock(Ring);
@@ -1626,10 +1626,10 @@ _IRQL_requires_max_(DISPATCH_LEVEL)
 _IRQL_requires_same_
 static VOID
 ReceiverRingQueueDpc(
-    IN  PKDPC               Dpc,
-    IN  PVOID               Context,
-    IN  PVOID               Argument1,
-    IN  PVOID               Argument2
+    _In_ PKDPC              Dpc,
+    _In_ PVOID              Context,
+    _In_ PVOID              Argument1,
+    _In_ PVOID              Argument2
     )
 {
     PXENVIF_RECEIVER_RING   Ring = Context;
@@ -1645,7 +1645,7 @@ ReceiverRingQueueDpc(
 
 static FORCEINLINE VOID
 __ReceiverRingStop(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     Ring->Stopped = TRUE;
@@ -1653,7 +1653,7 @@ __ReceiverRingStop(
 
 static FORCEINLINE VOID
 __ReceiverRingStart(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     Ring->Stopped = FALSE;
@@ -1661,7 +1661,7 @@ __ReceiverRingStart(
 
 static FORCEINLINE BOOLEAN
 __ReceiverRingIsStopped(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     return Ring->Stopped;
@@ -1670,8 +1670,8 @@ __ReceiverRingIsStopped(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingTrigger(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  BOOLEAN                 Locked
+    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _In_ BOOLEAN                Locked
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -1692,8 +1692,8 @@ __ReceiverRingTrigger(
 
 static FORCEINLINE VOID
 __ReceiverRingSend(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  BOOLEAN                 Locked
+    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _In_ BOOLEAN                Locked
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -1714,16 +1714,16 @@ __ReceiverRingSend(
 
 static FORCEINLINE PXENVIF_RECEIVER_FRAGMENT
 __ReceiverRingPreparePacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
-    PXENVIF_RECEIVER            Receiver;
-    PXENVIF_FRONTEND            Frontend;
-    PXENVIF_RECEIVER_FRAGMENT   Fragment;
-    PMDL                        Mdl;
-    PFN_NUMBER                  Pfn;
-    NTSTATUS                    status;
+    PXENVIF_RECEIVER                Receiver;
+    PXENVIF_FRONTEND                Frontend;
+    PXENVIF_RECEIVER_FRAGMENT       Fragment;
+    PMDL                            Mdl;
+    PFN_NUMBER                      Pfn;
+    NTSTATUS                        status;
 
     Receiver = Ring->Receiver;
     Frontend = Receiver->Frontend;
@@ -1766,7 +1766,7 @@ fail1:
 
 static FORCEINLINE VOID
 __ReceiverRingPushRequests(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     BOOLEAN                     Notify;
@@ -1790,7 +1790,7 @@ __ReceiverRingPushRequests(
 
 static NTSTATUS
 ReceiverRingFill(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -1860,12 +1860,12 @@ ReceiverRingFill(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingReturnPacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet,
-    IN  BOOLEAN                 Locked
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet,
+    _In_ BOOLEAN                    Locked
     )
 {
-    PMDL                        Mdl;
+    PMDL                            Mdl;
 
     Mdl = &Packet->Mdl;
 
@@ -1903,7 +1903,7 @@ __ReceiverRingReturnPacket(
 
 static FORCEINLINE VOID
 __ReceiverRingEmpty(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -1944,8 +1944,8 @@ __ReceiverRingEmpty(
 
 static VOID
 ReceiverRingDebugCallback(
-    IN  PVOID                   Argument,
-    IN  BOOLEAN                 Crashing
+    _In_ PVOID                  Argument,
+    _In_ BOOLEAN                Crashing
     )
 {
     PXENVIF_RECEIVER_RING       Ring = Argument;
@@ -2006,13 +2006,13 @@ ReceiverRingDebugCallback(
 
 static FORCEINLINE VOID
 __ReceiverRingQueuePacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
-    PLIST_ENTRY                 ListEntry;
-    PLIST_ENTRY                 Old;
-    PLIST_ENTRY                 New;
+    PLIST_ENTRY                     ListEntry;
+    PLIST_ENTRY                     Old;
+    PLIST_ENTRY                     New;
 
     ListEntry = &Packet->ListEntry;
 
@@ -2027,7 +2027,7 @@ __ReceiverRingQueuePacket(
 _IRQL_requires_(DISPATCH_LEVEL)
 static DECLSPEC_NOINLINE ULONG
 ReceiverRingPoll(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2277,8 +2277,8 @@ done:
 
 static FORCEINLINE BOOLEAN
 __ReceiverRingUnmask(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  BOOLEAN                 Force
+    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _In_ BOOLEAN                Force
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2302,10 +2302,10 @@ _IRQL_requires_(DISPATCH_LEVEL)
 _IRQL_requires_same_
 static VOID
 ReceiverRingPollDpc(
-    IN  PKDPC               Dpc,
-    IN  PVOID               Context,
-    IN  PVOID               Argument1,
-    IN  PVOID               Argument2
+    _In_ PKDPC              Dpc,
+    _In_ PVOID              Context,
+    _In_ PVOID              Argument1,
+    _In_ PVOID              Argument2
     )
 {
     PXENVIF_RECEIVER_RING   Ring = Context;
@@ -2335,8 +2335,8 @@ KSERVICE_ROUTINE    ReceiverRingEvtchnCallback;
 _Use_decl_annotations_
 BOOLEAN
 ReceiverRingEvtchnCallback(
-    IN  PKINTERRUPT             InterruptObject,
-    IN  PVOID                   Argument
+    _In_ PKINTERRUPT            InterruptObject,
+    _In_ PVOID                  Argument
     )
 {
     PXENVIF_RECEIVER_RING       Ring = Argument;
@@ -2371,8 +2371,8 @@ ReceiverRingEvtchnCallback(
 
 static NTSTATUS
 ReceiverRingWatchdog(
-    IN  PXENVIF_THREAD      Self,
-    IN  PVOID               Context
+    _In_ PXENVIF_THREAD     Self,
+    _In_ PVOID              Context
     )
 {
     PXENVIF_RECEIVER_RING   Ring = Context;
@@ -2452,14 +2452,14 @@ ReceiverRingWatchdog(
 
 static FORCEINLINE NTSTATUS
 __ReceiverRingInitialize(
-    IN  PXENVIF_RECEIVER        Receiver,
-    IN  ULONG                   Index,
-    OUT PXENVIF_RECEIVER_RING   *Ring
+    _In_ PXENVIF_RECEIVER           Receiver,
+    _In_ ULONG                      Index,
+    _Outptr_ PXENVIF_RECEIVER_RING  *Ring
     )
 {
-    PXENVIF_FRONTEND            Frontend;
-    CHAR                        Name[MAXNAMELEN];
-    NTSTATUS                    status;
+    PXENVIF_FRONTEND                Frontend;
+    CHAR                            Name[MAXNAMELEN];
+    NTSTATUS                        status;
 
     Frontend = Receiver->Frontend;
 
@@ -2599,8 +2599,8 @@ fail1:
 
 static FORCEINLINE VOID
 __ReceiverRingSetAffinity(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PPROCESSOR_NUMBER       Processor
+    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _In_ PPROCESSOR_NUMBER      Processor
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2622,7 +2622,7 @@ __ReceiverRingSetAffinity(
 
 static FORCEINLINE NTSTATUS
 __ReceiverRingConnect(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2791,8 +2791,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ReceiverRingStoreWrite(
-    IN  PXENVIF_RECEIVER_RING       Ring,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     )
 {
     PXENVIF_RECEIVER                Receiver;
@@ -2847,7 +2847,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ReceiverRingEnable(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2894,7 +2894,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingDisable(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {    
     PXENVIF_RECEIVER            Receiver;
@@ -2926,7 +2926,7 @@ __ReceiverRingDisable(
 
 static FORCEINLINE VOID
 __ReceiverRingDisconnect(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2992,7 +2992,7 @@ __ReceiverRingDisconnect(
 
 static FORCEINLINE VOID
 __ReceiverRingTeardown(
-    IN  PXENVIF_RECEIVER_RING   Ring
+    _In_ PXENVIF_RECEIVER_RING  Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -3049,8 +3049,8 @@ __ReceiverRingTeardown(
 
 static FORCEINLINE VOID
 __ReceiverRingSetOffloadOptions(
-    IN  PXENVIF_RECEIVER_RING       Ring,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  Options
+    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS Options
     )
 {
     KIRQL                           Irql;
@@ -3066,8 +3066,8 @@ __ReceiverRingSetOffloadOptions(
 
 static FORCEINLINE VOID
 __ReceiverRingSetBackfillSize(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  ULONG                   Size
+    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _In_ ULONG                  Size
     )
 {
     KIRQL                       Irql;
@@ -3083,8 +3083,8 @@ __ReceiverRingSetBackfillSize(
 
 static VOID
 ReceiverDebugCallback(
-    IN  PVOID           Argument,
-    IN  BOOLEAN         Crashing
+    _In_ PVOID          Argument,
+    _In_ BOOLEAN        Crashing
     )
 {
     PXENVIF_RECEIVER    Receiver = Argument;
@@ -3101,14 +3101,14 @@ ReceiverDebugCallback(
 _IRQL_requires_(PASSIVE_LEVEL)
 NTSTATUS
 ReceiverInitialize(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PXENVIF_RECEIVER    *Receiver
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _Outptr_ PXENVIF_RECEIVER   *Receiver
     )
 {
-    HANDLE                  ParametersKey;
-    LONG                    MaxQueues;
-    LONG                    Index;
-    NTSTATUS                status;
+    HANDLE                      ParametersKey;
+    LONG                        MaxQueues;
+    LONG                        Index;
+    NTSTATUS                    status;
 
     *Receiver = __ReceiverAllocate(sizeof (XENVIF_RECEIVER));
 
@@ -3275,7 +3275,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverConnect(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3364,8 +3364,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ReceiverSetGsoFeatureFlag(
-    IN  PXENVIF_RECEIVER            Receiver,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_RECEIVER           Receiver,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -3418,8 +3418,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ReceiverSetChecksumFeatureFlag(
-    IN  PXENVIF_RECEIVER            Receiver,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_RECEIVER           Receiver,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -3461,8 +3461,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverStoreWrite(
-    IN  PXENVIF_RECEIVER            Receiver,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_RECEIVER           Receiver,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -3546,7 +3546,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverEnable(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3590,7 +3590,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ReceiverDisable(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3613,7 +3613,7 @@ ReceiverDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ReceiverDisconnect(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3649,7 +3649,7 @@ ReceiverDisconnect(
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 ReceiverTeardown(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3710,8 +3710,8 @@ ReceiverTeardown(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 ReceiverSetOffloadOptions(
-    IN  PXENVIF_RECEIVER            Receiver,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  Options
+    _In_ PXENVIF_RECEIVER           Receiver,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS Options
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -3741,8 +3741,8 @@ ReceiverSetOffloadOptions(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 ReceiverSetBackfillSize(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  ULONG               Size
+    _In_ PXENVIF_RECEIVER           Receiver,
+    _In_ ULONG                      Size
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -3768,8 +3768,8 @@ ReceiverSetBackfillSize(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 ReceiverQueryRingSize(
-    IN  PXENVIF_RECEIVER    Receiver,
-    OUT PULONG              Size
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _Out_ PULONG            Size
     )
 {
     UNREFERENCED_PARAMETER(Receiver);
@@ -3780,8 +3780,8 @@ ReceiverQueryRingSize(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ReceiverReturnPacket(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  PVOID               Cookie
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ PVOID              Cookie
     )
 {
     PXENVIF_RECEIVER_PACKET Packet = Cookie;
@@ -3810,7 +3810,7 @@ ReceiverReturnPacket(
 _IRQL_requires_max_(APC_LEVEL)
 VOID
 ReceiverWaitForPackets(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3861,8 +3861,8 @@ ReceiverWaitForPackets(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ReceiverTrigger(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  ULONG               Index
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ ULONG              Index
     )
 {
     PXENVIF_RECEIVER_RING   Ring;
@@ -3875,8 +3875,8 @@ ReceiverTrigger(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ReceiverSend(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  ULONG               Index
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ ULONG              Index
     )
 {
     PXENVIF_RECEIVER_RING   Ring;
@@ -3889,8 +3889,8 @@ ReceiverSend(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverSetHashAlgorithm(
-    IN  PXENVIF_RECEIVER                Receiver,
-    IN  XENVIF_PACKET_HASH_ALGORITHM    Algorithm
+    _In_ PXENVIF_RECEIVER               Receiver,
+    _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm
     )
 {
     PXENVIF_FRONTEND                    Frontend;
@@ -3933,8 +3933,8 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverQueryHashCapabilities(
-    IN  PXENVIF_RECEIVER    Receiver,
-    OUT PULONG              Types
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _Out_ PULONG            Types
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3957,9 +3957,9 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverUpdateHashParameters(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  ULONG               Types,
-    IN  PUCHAR              Key
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ ULONG              Types,
+    _In_ PUCHAR             Key
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -4009,9 +4009,9 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __ReceiverSetQueueAffinities(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  PPROCESSOR_NUMBER   QueueAffinities,
-    IN  ULONG               Count
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ PPROCESSOR_NUMBER  QueueAffinities,
+    _In_ ULONG              Count
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -4053,9 +4053,9 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverUpdateHashMapping(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  PPROCESSOR_NUMBER   ProcessorMapping,
-    IN  ULONG               Size
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ PPROCESSOR_NUMBER  ProcessorMapping,
+    _In_ ULONG              Size
     )
 {
     PXENVIF_FRONTEND        Frontend;
diff --git a/src/xenvif/receiver.h b/src/xenvif/receiver.h
index 96cec02..2122f0d 100644
--- a/src/xenvif/receiver.h
+++ b/src/xenvif/receiver.h
@@ -44,123 +44,123 @@ typedef struct _XENVIF_RECEIVER XENVIF_RECEIVER, 
*PXENVIF_RECEIVER;
 _IRQL_requires_(PASSIVE_LEVEL)
 extern NTSTATUS
 ReceiverInitialize(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PXENVIF_RECEIVER    *Receiver
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _Outptr_ PXENVIF_RECEIVER   *Receiver
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ReceiverConnect(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ReceiverStoreWrite(
-    IN  PXENVIF_RECEIVER            Receiver,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_RECEIVER           Receiver,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ReceiverEnable(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ReceiverDisable(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ReceiverDisconnect(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     );
 
 _IRQL_requires_(PASSIVE_LEVEL)
 extern VOID
 ReceiverTeardown(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     );
 
 _IRQL_requires_max_(APC_LEVEL)
 extern VOID
 ReceiverWaitForPackets(
-    IN  PXENVIF_RECEIVER    Receiver
+    _In_ PXENVIF_RECEIVER   Receiver
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 ReceiverQueryRingSize(
-    IN  PXENVIF_RECEIVER    Receiver,
-    OUT PULONG              Size
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _Out_ PULONG            Size
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 ReceiverSetOffloadOptions(
-    IN  PXENVIF_RECEIVER            Receiver,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  Options
+    _In_ PXENVIF_RECEIVER           Receiver,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS Options
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 ReceiverSetBackfillSize(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  ULONG               Size
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ ULONG              Size
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ReceiverReturnPacket(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  PVOID               Cookie
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ PVOID              Cookie
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ReceiverTrigger(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  ULONG               Index
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ ULONG              Index
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ReceiverSend(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  ULONG               Index
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ ULONG              Index
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverSetHashAlgorithm(
-    IN  PXENVIF_RECEIVER                Receiver,
-    IN  XENVIF_PACKET_HASH_ALGORITHM    Algorithm
+    _In_ PXENVIF_RECEIVER               Receiver,
+    _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverQueryHashCapabilities(
-    IN  PXENVIF_RECEIVER    Receiver,
-    OUT PULONG              Types
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _Out_ PULONG            Types
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverUpdateHashParameters(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  ULONG               Types,
-    IN  PUCHAR              Key
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ ULONG              Types,
+    _In_ PUCHAR             Key
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 ReceiverUpdateHashMapping(
-    IN  PXENVIF_RECEIVER    Receiver,
-    IN  PPROCESSOR_NUMBER   ProcessorMapping,
-    IN  ULONG               Order
+    _In_ PXENVIF_RECEIVER   Receiver,
+    _In_ PPROCESSOR_NUMBER  ProcessorMapping,
+    _In_ ULONG              Order
     );
 
 #endif  // _XENVIF_RECEIVER_H
diff --git a/src/xenvif/settings.c b/src/xenvif/settings.c
index 4dd4ec4..1bf1dd8 100644
--- a/src/xenvif/settings.c
+++ b/src/xenvif/settings.c
@@ -59,7 +59,7 @@ typedef struct _SETTINGS_COPY_IP_ADDRESS_PARAMETERS {
 
 static FORCEINLINE PVOID
 __SettingsAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, SETTINGS_TAG);
@@ -67,7 +67,7 @@ __SettingsAllocate(
 
 static FORCEINLINE VOID
 __SettingsFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, SETTINGS_TAG);
@@ -75,8 +75,8 @@ __SettingsFree(
 
 static FORCEINLINE NTSTATUS
 __GuidToString(
-    IN  LPGUID          Guid,
-    OUT PANSI_STRING    Ansi
+    _In_ LPGUID         Guid,
+    _Out_ PANSI_STRING  Ansi
     )
 {
     NTSTATUS            status;
@@ -107,10 +107,10 @@ fail1:
 
 static NTSTATUS
 SettingsCopyIpAddressesValue(
-    IN  PVOID                               Context,
-    IN  HANDLE                              Key,
-    IN  PANSI_STRING                        ValueName,
-    IN  ULONG                               Type
+    _In_ PVOID                              Context,
+    _In_ HANDLE                             Key,
+    _In_ PANSI_STRING                       ValueName,
+    _In_ ULONG                              Type
     )
 {
     PSETTINGS_COPY_IP_ADDRESS_PARAMETERS    Parameters = Context;
@@ -174,9 +174,9 @@ fail1:
 
 static NTSTATUS
 SettingsCopyIpAddresses(
-    IN  ULONG                           Version,
-    IN  PNET_LUID                       OldLuid,
-    IN  PNET_LUID                       NewLuid
+    _In_ ULONG                          Version,
+    _In_ PNET_LUID                      OldLuid,
+    _In_ PNET_LUID                      NewLuid
     )
 {
     SETTINGS_COPY_IP_ADDRESS_PARAMETERS Parameters;
@@ -238,14 +238,14 @@ fail1:
 
 static NTSTATUS
 SettingsCopyInterfaceValue(
-    IN  PVOID            Context,
-    IN  HANDLE           SourceKey,
-    IN  PANSI_STRING     ValueName,
-    IN  ULONG            Type
+    _In_ PVOID          Context,
+    _In_ HANDLE         SourceKey,
+    _In_ PANSI_STRING   ValueName,
+    _In_ ULONG          Type
     )
 {
-    HANDLE               DestinationKey = Context;
-    NTSTATUS             status;
+    HANDLE              DestinationKey = Context;
+    NTSTATUS            status;
 
     Trace(" - %Z\n", ValueName);
 
@@ -309,10 +309,10 @@ SettingsCopyInterfaceValue(
 
 static NTSTATUS
 SettingsCopyInterface(
-    IN  PCHAR           InterfacePath,
-    IN  PCHAR           InterfacePrefix,
-    IN  PANSI_STRING    OldGuid,
-    IN  PANSI_STRING    NewGuid
+    _In_ PCHAR          InterfacePath,
+    _In_ PCHAR          InterfacePrefix,
+    _In_ PANSI_STRING   OldGuid,
+    _In_ PANSI_STRING   NewGuid
     )
 {
     HANDLE              OldKey;
@@ -420,9 +420,9 @@ fail1:
 
 static NTSTATUS
 SettingsStoreCurrent(
-    IN  HANDLE          SubKey,
-    IN  PANSI_STRING    Guid,
-    IN  PNET_LUID       Luid
+    _In_ HANDLE         SubKey,
+    _In_ PANSI_STRING   Guid,
+    _In_ PNET_LUID      Luid
     )
 {
 
@@ -458,11 +458,11 @@ fail1:
 
 static NTSTATUS
 SettingsCopy(
-    IN  PCHAR           SubKeyName,
-    IN  PANSI_STRING    OldGuid,
-    IN  PNET_LUID       OldLuid,
-    IN  PANSI_STRING    NewGuid,
-    IN  PNET_LUID       NewLuid
+    _In_ PCHAR          SubKeyName,
+    _In_ PANSI_STRING   OldGuid,
+    _In_ PNET_LUID      OldLuid,
+    _In_ PANSI_STRING   NewGuid,
+    _In_ PNET_LUID      NewLuid
      )
 {
     HANDLE              SettingsKey;
@@ -530,11 +530,11 @@ fail1:
 
 NTSTATUS
 SettingsSave(
-    IN  PCHAR       SubKeyName,
-    IN  PWCHAR      Alias,
-    IN  PWCHAR      Description,
-    IN  LPGUID      InterfaceGuid,
-    IN  PNET_LUID   InterfaceLuid
+    _In_ PCHAR      SubKeyName,
+    _In_ PWCHAR     Alias,
+    _In_ PWCHAR     Description,
+    _In_ LPGUID     InterfaceGuid,
+    _In_ PNET_LUID  InterfaceLuid
     )
 {
     HANDLE          SettingsKey;
@@ -601,11 +601,11 @@ fail1:
 
 NTSTATUS
 SettingsRestore(
-    IN  PCHAR       SubKeyName,
-    IN  PWCHAR      Alias,
-    IN  PWCHAR      Description,
-    IN  LPGUID      InterfaceGuid,
-    IN  PNET_LUID   InterfaceLuid
+    _In_ PCHAR      SubKeyName,
+    _In_ PWCHAR     Alias,
+    _In_ PWCHAR     Description,
+    _In_ LPGUID     InterfaceGuid,
+    _In_ PNET_LUID  InterfaceLuid
     )
 {
     HANDLE          SettingsKey;
diff --git a/src/xenvif/settings.h b/src/xenvif/settings.h
index 3f964bb..4d88235 100644
--- a/src/xenvif/settings.h
+++ b/src/xenvif/settings.h
@@ -35,20 +35,20 @@
 
 extern NTSTATUS
 SettingsSave(
-    IN  PCHAR       SubKeyName,
-    IN  PWCHAR      Alias,
-    IN  PWCHAR      Description,
-    IN  LPGUID      InterfaceGuid,
-    IN  PNET_LUID   InterfaceLuid
+    _In_ PCHAR      SubKeyName,
+    _In_ PWCHAR     Alias,
+    _In_ PWCHAR     Description,
+    _In_ LPGUID     InterfaceGuid,
+    _In_ PNET_LUID  InterfaceLuid
     );
 
 extern NTSTATUS
 SettingsRestore(
-    IN  PCHAR       SubKeyName,
-    IN  PWCHAR      Alias,
-    IN  PWCHAR      Description,
-    IN  LPGUID      InterfaceGuid,
-    IN  PNET_LUID   InterfaceLuid
+    _In_ PCHAR      SubKeyName,
+    _In_ PWCHAR     Alias,
+    _In_ PWCHAR     Description,
+    _In_ LPGUID     InterfaceGuid,
+    _In_ PNET_LUID  InterfaceLuid
     );
 
 #endif  // _XENVIF_SETTINGS_H
diff --git a/src/xenvif/transmitter.c b/src/xenvif/transmitter.c
index ad58336..605f0cc 100644
--- a/src/xenvif/transmitter.c
+++ b/src/xenvif/transmitter.c
@@ -237,7 +237,7 @@ struct _XENVIF_TRANSMITTER {
 
 static FORCEINLINE PVOID
 __TransmitterAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, XENVIF_TRANSMITTER_TAG);
@@ -245,7 +245,7 @@ __TransmitterAllocate(
 
 static FORCEINLINE VOID
 __TransmitterFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, XENVIF_TRANSMITTER_TAG);
@@ -255,7 +255,7 @@ _Acquires_nonreentrant_lock_(Argument)
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 TransmitterPacketAcquireLock(
-    IN  PVOID           Argument
+    _In_ PVOID          Argument
     )
 {
     PXENVIF_TRANSMITTER Transmitter = Argument;
@@ -267,7 +267,7 @@ _Requires_lock_held_(Argument)
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 TransmitterPacketReleaseLock(
-    IN  PVOID           Argument
+    _In_ PVOID          Argument
     )
 {
     PXENVIF_TRANSMITTER Transmitter = Argument;
@@ -277,8 +277,8 @@ TransmitterPacketReleaseLock(
 
 static NTSTATUS
 TransmitterPacketCtor(
-    IN  PVOID                   Argument,
-    IN  PVOID                   Object
+    _In_ PVOID                  Argument,
+    _In_ PVOID                  Object
     )
 {
     PXENVIF_TRANSMITTER_PACKET  Packet = Object;
@@ -309,8 +309,8 @@ fail1:
 
 static VOID
 TransmitterPacketDtor(
-    IN  PVOID                   Argument,
-    IN  PVOID                   Object
+    _In_ PVOID                  Argument,
+    _In_ PVOID                  Object
     )
 {
     PXENVIF_TRANSMITTER_PACKET  Packet = Object;
@@ -329,7 +329,7 @@ TransmitterPacketDtor(
 
 static FORCEINLINE PXENVIF_TRANSMITTER_PACKET
 __TransmitterGetPacket(
-    IN  PXENVIF_TRANSMITTER         Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
     return XENBUS_CACHE(Get,
@@ -340,8 +340,8 @@ __TransmitterGetPacket(
 
 static FORCEINLINE VOID
 __TransmitterPutPacket(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  PXENVIF_TRANSMITTER_PACKET  Packet
+    _In_ PXENVIF_TRANSMITTER        Transmitter,
+    _In_ PXENVIF_TRANSMITTER_PACKET Packet
     )
 {
     ASSERT(IsZeroMemory(&Packet->ListEntry, sizeof (LIST_ENTRY)));
@@ -372,13 +372,13 @@ __TransmitterPutPacket(
 
 static NTSTATUS
 TransmitterBufferCtor(
-    IN  PVOID                   Argument,
-    IN  PVOID                   Object
+    _In_ PVOID                  Argument,
+    _In_ PVOID                  Object
     )
 {
     PXENVIF_TRANSMITTER_BUFFER  Buffer = Object;
-    PMDL                               Mdl;
-    NTSTATUS                   status;
+    PMDL                        Mdl;
+    NTSTATUS                    status;
 
     UNREFERENCED_PARAMETER(Argument);
 
@@ -405,8 +405,8 @@ fail1:
 
 static VOID
 TransmitterBufferDtor(
-    IN  PVOID                   Argument,
-    IN  PVOID                   Object
+    _In_ PVOID                  Argument,
+    _In_ PVOID                  Object
     )
 {
     PXENVIF_TRANSMITTER_BUFFER  Buffer = Object;
@@ -426,7 +426,7 @@ TransmitterBufferDtor(
 
 static FORCEINLINE PXENVIF_TRANSMITTER_BUFFER
 __TransmitterGetBuffer(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -448,8 +448,8 @@ __TransmitterGetBuffer(
 
 static FORCEINLINE VOID
 __TransmitterPutBuffer(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PXENVIF_TRANSMITTER_BUFFER  Buffer
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PXENVIF_TRANSMITTER_BUFFER Buffer
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -472,8 +472,8 @@ __TransmitterPutBuffer(
 
 static NTSTATUS
 TransmitterMulticastControlCtor(
-    IN  PVOID   Argument,
-    IN  PVOID   Object
+    _In_ PVOID  Argument,
+    _In_ PVOID  Object
     )
 {
     UNREFERENCED_PARAMETER(Argument);
@@ -484,8 +484,8 @@ TransmitterMulticastControlCtor(
 
 static VOID
 TransmitterMulticastControlDtor(
-    IN  PVOID   Argument,
-    IN  PVOID   Object
+    _In_ PVOID  Argument,
+    _In_ PVOID  Object
     )
 {
     UNREFERENCED_PARAMETER(Argument);
@@ -494,7 +494,7 @@ TransmitterMulticastControlDtor(
 
 static FORCEINLINE PXENVIF_TRANSMITTER_MULTICAST_CONTROL
 __TransmitterGetMulticastControl(
-    IN  PXENVIF_TRANSMITTER_RING            Ring
+    _In_ PXENVIF_TRANSMITTER_RING           Ring
     )
 {
     PXENVIF_TRANSMITTER                     Transmitter;
@@ -514,8 +514,8 @@ __TransmitterGetMulticastControl(
 
 static FORCEINLINE VOID
 __TransmitterPutMulticastControl(
-    IN  PXENVIF_TRANSMITTER_RING                Ring,
-    IN  PXENVIF_TRANSMITTER_MULTICAST_CONTROL   Control
+    _In_ PXENVIF_TRANSMITTER_RING               Ring,
+    _In_ PXENVIF_TRANSMITTER_MULTICAST_CONTROL  Control
     )
 {
     PXENVIF_TRANSMITTER                         Transmitter;
@@ -535,8 +535,8 @@ __TransmitterPutMulticastControl(
 
 static NTSTATUS
 TransmitterFragmentCtor(
-    IN  PVOID                       Argument,
-    IN  PVOID                       Object
+    _In_ PVOID                      Argument,
+    _In_ PVOID                      Object
     )
 {
     PXENVIF_TRANSMITTER_RING        Ring = Argument;
@@ -544,7 +544,7 @@ TransmitterFragmentCtor(
     PXENVIF_TRANSMITTER             Transmitter;
     PXENVIF_FRONTEND                Frontend;
     LONGLONG                        Id;
-    NTSTATUS                       status;
+    NTSTATUS                        status;
 
     Transmitter = Ring->Transmitter;
     Frontend = Transmitter->Frontend;
@@ -573,8 +573,8 @@ fail1:
 
 static VOID
 TransmitterFragmentDtor(
-    IN  PVOID                       Argument,
-    IN  PVOID                       Object
+    _In_ PVOID                      Argument,
+    _In_ PVOID                      Object
     )
 {
     PXENVIF_TRANSMITTER_RING        Ring = Argument;
@@ -600,7 +600,7 @@ TransmitterFragmentDtor(
 
 static FORCEINLINE PXENVIF_TRANSMITTER_FRAGMENT
 __TransmitterGetFragment(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -617,8 +617,8 @@ __TransmitterGetFragment(
 
 static FORCEINLINE
 __TransmitterPutFragment(
-    IN  PXENVIF_TRANSMITTER_RING        Ring,
-    IN  PXENVIF_TRANSMITTER_FRAGMENT    Fragment
+    _In_ PXENVIF_TRANSMITTER_RING       Ring,
+    _In_ PXENVIF_TRANSMITTER_FRAGMENT   Fragment
     )
 {
     PXENVIF_TRANSMITTER                 Transmitter;
@@ -643,8 +643,8 @@ __TransmitterPutFragment(
 
 static NTSTATUS
 TransmitterRequestCtor(
-    IN  PVOID   Argument,
-    IN  PVOID   Object
+    _In_ PVOID  Argument,
+    _In_ PVOID  Object
     )
 {
     UNREFERENCED_PARAMETER(Argument);
@@ -655,8 +655,8 @@ TransmitterRequestCtor(
 
 static VOID
 TransmitterRequestDtor(
-    IN  PVOID   Argument,
-    IN  PVOID   Object
+    _In_ PVOID  Argument,
+    _In_ PVOID  Object
     )
 {
     UNREFERENCED_PARAMETER(Argument);
@@ -665,7 +665,7 @@ TransmitterRequestDtor(
 
 static FORCEINLINE PXENVIF_TRANSMITTER_REQUEST
 __TransmitterGetRequest(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -683,11 +683,11 @@ __TransmitterGetRequest(
 
 static FORCEINLINE VOID
 __TransmitterPutRequest(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PXENVIF_TRANSMITTER_REQUEST Request
+    _In_ PXENVIF_TRANSMITTER_RING       Ring,
+    _In_ PXENVIF_TRANSMITTER_REQUEST    Request
     )
 {
-    PXENVIF_TRANSMITTER             Transmitter;
+    PXENVIF_TRANSMITTER                 Transmitter;
 
     Transmitter = Ring->Transmitter;
 
@@ -702,8 +702,8 @@ __TransmitterPutRequest(
 
 static VOID
 TransmitterRingDebugCallback(
-    IN  PVOID                   Argument,
-    IN  BOOLEAN                 Crashing
+    _In_ PVOID                  Argument,
+    _In_ BOOLEAN                Crashing
     )
 {
     PXENVIF_TRANSMITTER_RING    Ring = Argument;
@@ -788,10 +788,10 @@ TransmitterRingDebugCallback(
 
 static BOOLEAN
 TransmitterPullup(
-    IN      PVOID                   Argument,
-    IN      PUCHAR                  DestinationVa,
-    IN OUT  PXENVIF_PACKET_PAYLOAD  Payload,
-    IN      ULONG                   Length
+    _In_ PVOID                      Argument,
+    _In_ PUCHAR                     DestinationVa,
+    _Inout_ PXENVIF_PACKET_PAYLOAD  Payload,
+    _In_ ULONG                      Length
     )
 {
     PMDL                            Mdl;
@@ -847,7 +847,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingCopyPayload(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1004,7 +1004,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingGrantPayload(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1160,7 +1160,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingPrepareHeader(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1528,7 +1528,7 @@ fail1:
 
 static FORCEINLINE PXENVIF_TRANSMITTER_PACKET
 __TransmitterRingUnprepareFragments(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1649,8 +1649,8 @@ __TransmitterRingUnprepareFragments(
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingPreparePacket(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PXENVIF_TRANSMITTER_PACKET  Packet
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PXENVIF_TRANSMITTER_PACKET Packet
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1764,8 +1764,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingPrepareArp(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PIPV4_ADDRESS               Address
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PIPV4_ADDRESS              Address
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1906,8 +1906,8 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingPrepareNeighbourAdvertisement(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PIPV6_ADDRESS               Address
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PIPV6_ADDRESS              Address
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -2074,9 +2074,9 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingPrepareMulticastControl(
-    IN  PXENVIF_TRANSMITTER_RING            Ring,
-    IN  PETHERNET_ADDRESS                   Address,
-    IN  BOOLEAN                             Add
+    _In_ PXENVIF_TRANSMITTER_RING           Ring,
+    _In_ PETHERNET_ADDRESS                  Address,
+    _In_ BOOLEAN                            Add
     )
 {
     PXENVIF_TRANSMITTER_STATE               State;
@@ -2135,7 +2135,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingPostFragments(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -2383,7 +2383,7 @@ fail1:
 
 static FORCEINLINE VOID
 __TransmitterRingFakeResponses(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     RING_IDX                        rsp_prod;
@@ -2455,8 +2455,8 @@ __TransmitterRingFakeResponses(
 
 static FORCEINLINE VOID
 __TransmitterRingCompletePacket(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PXENVIF_TRANSMITTER_PACKET  Packet
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PXENVIF_TRANSMITTER_PACKET Packet
     )
 {
     InsertTailList(&Ring->PacketComplete, &Packet->ListEntry);
@@ -2465,7 +2465,7 @@ __TransmitterRingCompletePacket(
 
 static DECLSPEC_NOINLINE ULONG
 TransmitterRingPoll(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -2648,7 +2648,7 @@ done:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingTrigger(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -2674,7 +2674,7 @@ __TransmitterRingTrigger(
 
 static FORCEINLINE VOID
 __TransmitterRingSend(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -2700,7 +2700,7 @@ __TransmitterRingSend(
 
 static FORCEINLINE VOID
 __TransmitterRingPushRequests(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     BOOLEAN                         Notify;
@@ -2729,7 +2729,7 @@ __TransmitterRingPushRequests(
 _IRQL_requires_(DISPATCH_LEVEL)
 static DECLSPEC_NOINLINE VOID
 TransmitterRingSwizzle(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     ULONG_PTR                       Old;
@@ -2781,7 +2781,7 @@ TransmitterRingSwizzle(
 _IRQL_requires_(DISPATCH_LEVEL)
 static DECLSPEC_NOINLINE VOID
 TransmitterRingSchedule(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER_STATE       State;
@@ -2905,8 +2905,8 @@ TransmitterRingSchedule(
 
 static FORCEINLINE VOID
 __TransmitterSetCompletionInfo(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  PXENVIF_TRANSMITTER_PACKET  Packet
+    _In_ PXENVIF_TRANSMITTER        Transmitter,
+    _In_ PXENVIF_TRANSMITTER_PACKET Packet
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -3072,12 +3072,12 @@ __TransmitterSetCompletionInfo(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterReturnPackets(
-    IN  PXENVIF_TRANSMITTER Transmitter,
-    IN  PLIST_ENTRY         List
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ PLIST_ENTRY            List
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    PXENVIF_VIF_CONTEXT     Context;
+    PXENVIF_FRONTEND            Frontend;
+    PXENVIF_VIF_CONTEXT         Context;
 
     Frontend = Transmitter->Frontend;
     Context = PdoGetVifContext(FrontendGetPdo(Frontend));
@@ -3108,7 +3108,7 @@ __TransmitterReturnPackets(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE BOOLEAN
 __TransmitterRingTryAcquireLock(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     ULONG_PTR                       Old;
@@ -3137,7 +3137,7 @@ __TransmitterRingTryAcquireLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingAcquireLock(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -3153,7 +3153,7 @@ __TransmitterRingAcquireLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 TransmitterRingAcquireLock(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     __TransmitterRingAcquireLock(Ring);
@@ -3162,7 +3162,7 @@ TransmitterRingAcquireLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE BOOLEAN
 __TransmitterRingTryReleaseLock(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     ULONG_PTR                       Old;
@@ -3198,7 +3198,7 @@ __TransmitterRingTryReleaseLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingReleaseLock(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     LIST_ENTRY                      List;
@@ -3237,7 +3237,7 @@ __TransmitterRingReleaseLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static DECLSPEC_NOINLINE VOID
 TransmitterRingReleaseLock(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     __TransmitterRingReleaseLock(Ring);
@@ -3246,8 +3246,8 @@ TransmitterRingReleaseLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE BOOLEAN
 __TransmitterRingUnmask(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  BOOLEAN                     Force
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ BOOLEAN                    Force
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -3270,10 +3270,10 @@ _Function_class_(KDEFERRED_ROUTINE)
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 TransmitterRingPollDpc(
-    IN  PKDPC                   Dpc,
-    IN  PVOID                   Context,
-    IN  PVOID                   Argument1,
-    IN  PVOID                   Argument2
+    _In_ PKDPC                  Dpc,
+    _In_ PVOID                  Context,
+    _In_ PVOID                  Argument1,
+    _In_ PVOID                  Argument2
     )
 {
     PXENVIF_TRANSMITTER_RING    Ring = Context;
@@ -3303,8 +3303,8 @@ KSERVICE_ROUTINE    TransmitterRingEvtchnCallback;
 _Use_decl_annotations_
 BOOLEAN
 TransmitterRingEvtchnCallback(
-    IN  PKINTERRUPT             InterruptObject,
-    IN  PVOID                   Argument
+    _In_ PKINTERRUPT            InterruptObject,
+    _In_ PVOID                  Argument
     )
 {
     PXENVIF_TRANSMITTER_RING    Ring = Argument;
@@ -3338,8 +3338,8 @@ TransmitterRingEvtchnCallback(
 _IRQL_requires_(PASSIVE_LEVEL)
 static NTSTATUS
 TransmitterRingWatchdog(
-    IN  PXENVIF_THREAD          Self,
-    IN  PVOID                   Context
+    _In_ PXENVIF_THREAD         Self,
+    _In_ PVOID                  Context
     )
 {
     PXENVIF_TRANSMITTER_RING    Ring = Context;
@@ -3412,14 +3412,14 @@ TransmitterRingWatchdog(
 _IRQL_requires_(PASSIVE_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingInitialize(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  ULONG                       Index,
-    OUT PXENVIF_TRANSMITTER_RING    *Ring
+    _In_ PXENVIF_TRANSMITTER            Transmitter,
+    _In_ ULONG                          Index,
+    _Outptr_ PXENVIF_TRANSMITTER_RING   *Ring
     )
 {
-    PXENVIF_FRONTEND                Frontend;
-    CHAR                            Name[MAXNAMELEN];
-    NTSTATUS                        status;
+    PXENVIF_FRONTEND                    Frontend;
+    CHAR                                Name[MAXNAMELEN];
+    NTSTATUS                            status;
 
     Frontend = Transmitter->Frontend;
 
@@ -3675,7 +3675,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingConnect(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -3847,8 +3847,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingStoreWrite(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -3908,7 +3908,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingEnable(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -3941,7 +3941,7 @@ __TransmitterRingEnable(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingDisable(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {    
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4051,7 +4051,7 @@ __TransmitterRingDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingDisconnect(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4110,7 +4110,7 @@ __TransmitterRingDisconnect(
 _IRQL_requires_(PASSIVE_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingTeardown(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4194,9 +4194,9 @@ __TransmitterRingTeardown(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingQueuePacket(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PXENVIF_TRANSMITTER_PACKET  Packet,
-    IN  BOOLEAN                     More
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PXENVIF_TRANSMITTER_PACKET Packet,
+    _In_ BOOLEAN                    More
     )
 {
     PLIST_ENTRY                     ListEntry;
@@ -4231,7 +4231,7 @@ __TransmitterRingQueuePacket(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingAbortPackets(
-    IN  PXENVIF_TRANSMITTER_RING    Ring
+    _In_ PXENVIF_TRANSMITTER_RING   Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4283,8 +4283,8 @@ __TransmitterRingAbortPackets(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingQueueArp(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PIPV4_ADDRESS               Address
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PIPV4_ADDRESS              Address
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4334,8 +4334,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingQueueNeighbourAdvertisement(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PIPV6_ADDRESS               Address
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PIPV6_ADDRESS              Address
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4389,7 +4389,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE BOOLEAN
 __TransmitterHasMulticastControl(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
     return Transmitter->MulticastControl;
@@ -4398,7 +4398,7 @@ __TransmitterHasMulticastControl(
 _IRQL_requires_(DISPATCH_LEVEL)
 BOOLEAN
 TransmitterHasMulticastControl(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
     return __TransmitterHasMulticastControl(Transmitter);
@@ -4406,9 +4406,9 @@ TransmitterHasMulticastControl(
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingQueueMulticastControl(
-    IN  PXENVIF_TRANSMITTER_RING    Ring,
-    IN  PETHERNET_ADDRESS           Address,
-    IN  BOOLEAN                     Add
+    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _In_ PETHERNET_ADDRESS          Address,
+    _In_ BOOLEAN                    Add
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4467,8 +4467,8 @@ fail1:
 
 static VOID
 TransmitterDebugCallback(
-    IN  PVOID           Argument,
-    IN  BOOLEAN         Crashing
+    _In_ PVOID      Argument,
+    _In_ BOOLEAN    Crashing
     )
 {
     UNREFERENCED_PARAMETER(Argument);
@@ -4478,15 +4478,15 @@ TransmitterDebugCallback(
 _IRQL_requires_(PASSIVE_LEVEL)
 NTSTATUS
 TransmitterInitialize(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PXENVIF_TRANSMITTER *Transmitter
+    _In_ PXENVIF_FRONTEND           Frontend,
+    _Outptr_ PXENVIF_TRANSMITTER    *Transmitter
     )
 {
-    HANDLE                  ParametersKey;
-    CHAR                    Name[MAXNAMELEN];
-    LONG                    MaxQueues;
-    LONG                    Index;
-    NTSTATUS                status;
+    HANDLE                          ParametersKey;
+    CHAR                            Name[MAXNAMELEN];
+    LONG                            MaxQueues;
+    LONG                            Index;
+    NTSTATUS                        status;
 
     *Transmitter = __TransmitterAllocate(sizeof (XENVIF_TRANSMITTER));
 
@@ -4692,7 +4692,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 TransmitterConnect(
-    IN  PXENVIF_TRANSMITTER     Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
     PXENVIF_FRONTEND            Frontend;
@@ -4803,9 +4803,9 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRequestMulticastControl(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction,
-    IN  BOOLEAN                     Enabled
+    _In_ PXENVIF_TRANSMITTER        Transmitter,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_ BOOLEAN                    Enabled
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -4834,11 +4834,11 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 TransmitterRequestMulticastControl(
-    IN  PXENVIF_TRANSMITTER Transmitter,
-    IN  BOOLEAN             Enabled
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ BOOLEAN                Enabled
     )
 {
-    NTSTATUS                status;
+    NTSTATUS                    status;
 
     status = STATUS_NOT_SUPPORTED;
     if (!__TransmitterHasMulticastControl(Transmitter))
@@ -4859,8 +4859,8 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 TransmitterStoreWrite(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_TRANSMITTER        Transmitter,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -4902,11 +4902,11 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 TransmitterEnable(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    LONG                    Index;
+    PXENVIF_FRONTEND            Frontend;
+    LONG                        Index;
 
     Trace("====>\n");
 
@@ -4927,11 +4927,11 @@ TransmitterEnable(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 TransmitterDisable(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
-    PXENVIF_FRONTEND       Frontend;
-    LONG                   Index;
+    PXENVIF_FRONTEND            Frontend;
+    LONG                        Index;
 
     Trace("====>\n");
 
@@ -4950,11 +4950,11 @@ TransmitterDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 TransmitterDisconnect(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    LONG                    Index;
+    PXENVIF_FRONTEND            Frontend;
+    LONG                        Index;
 
     Trace("====>\n");
 
@@ -4987,11 +4987,11 @@ TransmitterDisconnect(
 
 BOOLEAN
 TransmitterIsPoisoned(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
-    ULONG                   NumQueues;
-    ULONG                   Index;
+    ULONG                       NumQueues;
+    ULONG                       Index;
 
     NumQueues = FrontendGetNumQueues(Transmitter->Frontend);
     for (Index = 0; Index < NumQueues; Index++) {
@@ -5007,11 +5007,11 @@ TransmitterIsPoisoned(
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 TransmitterTeardown(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    LONG                    Index;
+    PXENVIF_FRONTEND            Frontend;
+    LONG                        Index;
 
     Frontend = Transmitter->Frontend;
 
@@ -5073,9 +5073,9 @@ TransmitterTeardown(
 
 static FORCEINLINE VOID
 __TransmitterHashAccumulate(
-    IN OUT  PULONG  Accumulator,
-    IN      PUCHAR  Array,
-    IN      ULONG   Length
+    _Inout_ PULONG  Accumulator,
+    _In_ PUCHAR     Array,
+    _In_ ULONG      Length
     )
 {
     ULONG           Current;
@@ -5100,8 +5100,8 @@ __TransmitterHashAccumulate(
 
 static FORCEINLINE ULONG
 __TransmitterHashPacket(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  PXENVIF_TRANSMITTER_PACKET  Packet
+    _In_ PXENVIF_TRANSMITTER        Transmitter,
+    _In_ PXENVIF_TRANSMITTER_PACKET Packet
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -5182,16 +5182,16 @@ done:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 TransmitterQueuePacket(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  PMDL                        Mdl,
-    IN  ULONG                       Offset,
-    IN  ULONG                       Length,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  OffloadOptions,
-    IN  USHORT                      MaximumSegmentSize,
-    IN  USHORT                      TagControlInformation,
-    IN  PXENVIF_PACKET_HASH         Hash,
-    IN  BOOLEAN                     More,
-    IN  PVOID                       Cookie
+    _In_ PXENVIF_TRANSMITTER        Transmitter,
+    _In_ PMDL                       Mdl,
+    _In_ ULONG                      Offset,
+    _In_ ULONG                      Length,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS OffloadOptions,
+    _In_ USHORT                     MaximumSegmentSize,
+    _In_ USHORT                     TagControlInformation,
+    _In_ PXENVIF_PACKET_HASH        Hash,
+    _In_ BOOLEAN                    More,
+    _In_ PVOID                      Cookie
     )
 {
     PXENVIF_FRONTEND                Frontend;
@@ -5278,12 +5278,12 @@ fail1:
 _IRQL_requires_max_(APC_LEVEL)
 VOID
 TransmitterAbortPackets(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    KIRQL                   Irql;
-    LONG                    Index;
+    PXENVIF_FRONTEND            Frontend;
+    KIRQL                       Irql;
+    LONG                        Index;
 
     Frontend = Transmitter->Frontend;
 
@@ -5302,8 +5302,8 @@ TransmitterAbortPackets(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 TransmitterQueueArp(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  PIPV4_ADDRESS           Address
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ PIPV4_ADDRESS          Address
     )
 {
     PXENVIF_TRANSMITTER_RING    Ring = Transmitter->Ring[0];
@@ -5314,8 +5314,8 @@ TransmitterQueueArp(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 TransmitterQueueNeighbourAdvertisement(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  PIPV6_ADDRESS           Address
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ PIPV6_ADDRESS          Address
     )
 {
     PXENVIF_TRANSMITTER_RING    Ring = Transmitter->Ring[0];
@@ -5326,9 +5326,9 @@ TransmitterQueueNeighbourAdvertisement(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 TransmitterQueueMulticastControl(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  PETHERNET_ADDRESS       Address,
-    IN  BOOLEAN                 Add
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ PETHERNET_ADDRESS      Address,
+    _In_ BOOLEAN                Add
     )
 {
     PXENVIF_TRANSMITTER_RING    Ring = Transmitter->Ring[0];
@@ -5339,8 +5339,8 @@ TransmitterQueueMulticastControl(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 TransmitterQueryRingSize(
-    IN  PXENVIF_TRANSMITTER Transmitter,
-    OUT PULONG              Size
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _Out_ PULONG                Size
     )
 {
     UNREFERENCED_PARAMETER(Transmitter);
@@ -5350,8 +5350,8 @@ TransmitterQueryRingSize(
 
 VOID
 TransmitterNotify(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  ULONG                   Index
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ ULONG                  Index
     )
 {
     PXENVIF_FRONTEND            Frontend;
@@ -5370,13 +5370,13 @@ TransmitterNotify(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 TransmitterQueryOffloadOptions(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    OUT PXENVIF_VIF_OFFLOAD_OPTIONS Options
+    _In_ PXENVIF_TRANSMITTER            Transmitter,
+    _Out_ PXENVIF_VIF_OFFLOAD_OPTIONS   Options
     )
 {
-    PXENVIF_FRONTEND                Frontend;
-    PCHAR                           Buffer;
-    NTSTATUS                        status;
+    PXENVIF_FRONTEND                    Frontend;
+    PCHAR                               Buffer;
+    NTSTATUS                            status;
 
     Frontend = Transmitter->Frontend;
 
@@ -5491,9 +5491,9 @@ TransmitterQueryOffloadOptions(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 TransmitterQueryLargePacketSize(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  UCHAR                   Version,
-    OUT PULONG                  Size
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ UCHAR                  Version,
+    _Out_ PULONG                Size
     )
 {
     PXENVIF_FRONTEND            Frontend;
diff --git a/src/xenvif/transmitter.h b/src/xenvif/transmitter.h
index 5e8defc..eadd311 100644
--- a/src/xenvif/transmitter.h
+++ b/src/xenvif/transmitter.h
@@ -46,134 +46,134 @@ typedef struct _XENVIF_TRANSMITTER XENVIF_TRANSMITTER, 
*PXENVIF_TRANSMITTER;
 _IRQL_requires_(PASSIVE_LEVEL)
 extern NTSTATUS
 TransmitterInitialize(
-    IN  PXENVIF_FRONTEND    Frontend,
-    OUT PXENVIF_TRANSMITTER *Transmitter
+    _In_ PXENVIF_FRONTEND           Frontend,
+    _Outptr_ PXENVIF_TRANSMITTER    *Transmitter
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 TransmitterConnect(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 TransmitterStoreWrite(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction
+    _In_ PXENVIF_TRANSMITTER        Transmitter,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 TransmitterEnable(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 TransmitterDisable(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 TransmitterDisconnect(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     );
 
 extern BOOLEAN
 TransmitterIsPoisoned(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     );
 
 _IRQL_requires_(PASSIVE_LEVEL)
 extern VOID
 TransmitterTeardown(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     );
 
 extern VOID
 TransmitterNotify(
-    IN  PXENVIF_TRANSMITTER Transmitter,
-    IN  ULONG               Index
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ ULONG                  Index
     );
 
 _IRQL_requires_max_(APC_LEVEL)
 extern VOID
 TransmitterAbortPackets(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 TransmitterQueueArp(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  PIPV4_ADDRESS           Address
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ PIPV4_ADDRESS          Address
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 TransmitterQueueNeighbourAdvertisement(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  PIPV6_ADDRESS           Address
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ PIPV6_ADDRESS          Address
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 TransmitterQueueMulticastControl(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  PETHERNET_ADDRESS       Address,
-    IN  BOOLEAN                 Add
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ PETHERNET_ADDRESS      Address,
+    _In_ BOOLEAN                Add
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 TransmitterQueryRingSize(
-    IN  PXENVIF_TRANSMITTER Transmitter,
-    OUT PULONG              Size
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _Out_ PULONG                Size
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 TransmitterQueuePacket(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    IN  PMDL                        Mdl,
-    IN  ULONG                       Offset,
-    IN  ULONG                       Length,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  OffloadOptions,
-    IN  USHORT                      MaximumSegmentSize,
-    IN  USHORT                      TagControlInformation,
-    IN  PXENVIF_PACKET_HASH         Hash,
-    IN  BOOLEAN                     More,
-    IN  PVOID                       Cookie
+    _In_ PXENVIF_TRANSMITTER        Transmitter,
+    _In_ PMDL                       Mdl,
+    _In_ ULONG                      Offset,
+    _In_ ULONG                      Length,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS OffloadOptions,
+    _In_ USHORT                     MaximumSegmentSize,
+    _In_ USHORT                     TagControlInformation,
+    _In_ PXENVIF_PACKET_HASH        Hash,
+    _In_ BOOLEAN                    More,
+    _In_ PVOID                      Cookie
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 TransmitterQueryOffloadOptions(
-    IN  PXENVIF_TRANSMITTER         Transmitter,
-    OUT PXENVIF_VIF_OFFLOAD_OPTIONS Options
+    _In_ PXENVIF_TRANSMITTER            Transmitter,
+    _Out_ PXENVIF_VIF_OFFLOAD_OPTIONS   Options
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 TransmitterQueryLargePacketSize(
-    IN  PXENVIF_TRANSMITTER     Transmitter,
-    IN  UCHAR                   Version,
-    OUT PULONG                  Size
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ UCHAR                  Version,
+    _Out_ PULONG                Size
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 BOOLEAN
 TransmitterHasMulticastControl(
-    IN  PXENVIF_TRANSMITTER Transmitter
+    _In_ PXENVIF_TRANSMITTER    Transmitter
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 TransmitterRequestMulticastControl(
-    IN  PXENVIF_TRANSMITTER Transmitter,
-    IN  BOOLEAN             Enabled
+    _In_ PXENVIF_TRANSMITTER    Transmitter,
+    _In_ BOOLEAN                Enabled
     );
 
 #endif  // _XENVIF_TRANSMITTER_H
diff --git a/src/xenvif/vif.c b/src/xenvif/vif.c
index 38b6b71..e059cd0 100644
--- a/src/xenvif/vif.c
+++ b/src/xenvif/vif.c
@@ -69,7 +69,7 @@ struct _XENVIF_VIF_CONTEXT {
 
 static FORCEINLINE PVOID
 __VifAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, XENVIF_VIF_TAG);
@@ -77,7 +77,7 @@ __VifAllocate(
 
 static FORCEINLINE VOID
 __VifFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, XENVIF_VIF_TAG);
@@ -85,8 +85,8 @@ __VifFree(
 
 static NTSTATUS
 VifMac(
-    IN  PXENVIF_THREAD  Self,
-    IN  PVOID           _Context
+    _In_ PXENVIF_THREAD Self,
+    _In_ PVOID          _Context
     )
 {
     PXENVIF_VIF_CONTEXT Context = _Context;
@@ -126,7 +126,7 @@ VifMac(
 
 static DECLSPEC_NOINLINE VOID
 VifSuspendCallbackLate(
-    IN  PVOID           Argument
+    _In_ PVOID          Argument
     )
 {
     PXENVIF_VIF_CONTEXT Context = Argument;
@@ -146,14 +146,14 @@ VifSuspendCallbackLate(
 
 static NTSTATUS
 VifEnable(
-    IN  PINTERFACE          Interface,
-    IN  XENVIF_VIF_CALLBACK Callback,
-    IN  PVOID               Argument
+    _In_ PINTERFACE             Interface,
+    _In_ XENVIF_VIF_CALLBACK    Callback,
+    _In_ PVOID                  Argument
     )
 {
-    PXENVIF_VIF_CONTEXT     Context = Interface->Context;
-    BOOLEAN                 Exclusive;
-    NTSTATUS                status;
+    PXENVIF_VIF_CONTEXT         Context = Interface->Context;
+    BOOLEAN                     Exclusive;
+    NTSTATUS                    status;
 
     Trace("====>\n");
 
@@ -244,9 +244,9 @@ fail1:
 
 static VOID
 VifCallbackVersion8(
-    IN  PVOID                                       _Argument OPTIONAL,
-    IN  XENVIF_VIF_CALLBACK_TYPE                    Type,
-    IN  union _XENVIF_VIF_CALLBACK_PARAMETERS_V9   *Parameters
+    _In_opt_ PVOID                                  _Argument,
+    _In_ XENVIF_VIF_CALLBACK_TYPE                   Type,
+    _In_ union _XENVIF_VIF_CALLBACK_PARAMETERS_V9   *Parameters
     )
 {
     PXENVIF_VIF_CONTEXT                             Context = _Argument;
@@ -304,9 +304,9 @@ VifCallbackVersion8(
 
 static VOID
 VifCallbackVersion9(
-    IN  PVOID                                       _Argument OPTIONAL,
-    IN  XENVIF_VIF_CALLBACK_TYPE                    Type,
-    IN  PXENVIF_VIF_CALLBACK_PARAMETERS             Parameters
+    _In_opt_ PVOID                          _Argument,
+    _In_ XENVIF_VIF_CALLBACK_TYPE           Type,
+    _In_ PXENVIF_VIF_CALLBACK_PARAMETERS    Parameters
     )
 {
 #define XENVIF_RECEIVER_QUEUE_MAX 1024 // Chosen to match IN_NDIS_MAX in XENNET
@@ -384,9 +384,9 @@ VifCallbackVersion9(
 
 static NTSTATUS
 VifEnableVersion9(
-    IN  PINTERFACE                  Interface,
-    IN  XENVIF_VIF_CALLBACK_V9      Callback,
-    IN  PVOID                       Argument
+    _In_ PINTERFACE                 Interface,
+    _In_ XENVIF_VIF_CALLBACK_V9     Callback,
+    _In_ PVOID                      Argument
     )
 {
     PXENVIF_VIF_CONTEXT             Context = Interface->Context;
@@ -410,9 +410,9 @@ VifEnableVersion9(
 
 static NTSTATUS
 VifEnableVersion8(
-    IN  PINTERFACE                  Interface,
-    IN  XENVIF_VIF_CALLBACK_V8      Callback,
-    IN  PVOID                       Argument
+    _In_ PINTERFACE                 Interface,
+    _In_ XENVIF_VIF_CALLBACK_V8     Callback,
+    _In_ PVOID                      Argument
     )
 {
     PXENVIF_VIF_CONTEXT             Context = Interface->Context;
@@ -436,7 +436,7 @@ VifEnableVersion8(
 
 static VOID
 VifDisable(
-    IN  PINTERFACE      Interface
+    _In_ PINTERFACE     Interface
     )
 {
     PXENVIF_VIF_CONTEXT Context = Interface->Context;
@@ -498,9 +498,9 @@ done:
 
 static NTSTATUS
 VifQueryStatistic(
-    IN  PINTERFACE              Interface,
-    IN  XENVIF_VIF_STATISTIC    Index,
-    OUT PULONGLONG              Value
+    _In_ PINTERFACE             Interface,
+    _In_ XENVIF_VIF_STATISTIC   Index,
+    _Out_ PULONGLONG            Value
     )
 {
     PXENVIF_VIF_CONTEXT         Context = Interface->Context;
@@ -523,8 +523,8 @@ done:
 
 static VOID
 VifQueryRingCount(
-    IN  PINTERFACE      Interface,
-    OUT PULONG          Count
+    _In_ PINTERFACE     Interface,
+    _Out_ PULONG        Count
     )
 {
     PXENVIF_VIF_CONTEXT Context = Interface->Context;
@@ -538,9 +538,9 @@ VifQueryRingCount(
 
 static NTSTATUS
 VifUpdateHashMapping(
-    IN  PINTERFACE          Interface,
-    IN  PPROCESSOR_NUMBER   Mapping,
-    IN  ULONG               Order
+    _In_ PINTERFACE         Interface,
+    _In_ PPROCESSOR_NUMBER  Mapping,
+    _In_ ULONG              Order
     )
 {
     PXENVIF_VIF_CONTEXT     Context = Interface->Context;
@@ -559,8 +559,8 @@ VifUpdateHashMapping(
 
 static VOID
 VifReceiverReturnPacket(
-    IN  PINTERFACE      Interface,
-    IN  PVOID           Cookie
+    _In_ PINTERFACE     Interface,
+    _In_ PVOID          Cookie
     )
 {
     PXENVIF_VIF_CONTEXT Context = Interface->Context;
@@ -571,16 +571,16 @@ VifReceiverReturnPacket(
 
 static NTSTATUS
 VifTransmitterQueuePacket(
-    IN  PINTERFACE                  Interface,
-    IN  PMDL                        Mdl,
-    IN  ULONG                       Offset,
-    IN  ULONG                       Length,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  OffloadOptions,
-    IN  USHORT                      MaximumSegmentSize,
-    IN  USHORT                      TagControlInformation,
-    IN  PXENVIF_PACKET_HASH         Hash,
-    IN  BOOLEAN                     More,
-    IN  PVOID                       Cookie
+    _In_ PINTERFACE                 Interface,
+    _In_ PMDL                       Mdl,
+    _In_ ULONG                      Offset,
+    _In_ ULONG                      Length,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS OffloadOptions,
+    _In_ USHORT                     MaximumSegmentSize,
+    _In_ USHORT                     TagControlInformation,
+    _In_ PXENVIF_PACKET_HASH        Hash,
+    _In_ BOOLEAN                    More,
+    _In_ PVOID                      Cookie
     )
 {
     PXENVIF_VIF_CONTEXT             Context = Interface->Context;
@@ -612,11 +612,11 @@ done:
 
 static VOID
 VifTransmitterQueryOffloadOptions(
-    IN  PINTERFACE                  Interface,
-    OUT PXENVIF_VIF_OFFLOAD_OPTIONS Options
+    _In_ PINTERFACE                     Interface,
+    _Out_ PXENVIF_VIF_OFFLOAD_OPTIONS   Options
     )
 {
-    PXENVIF_VIF_CONTEXT             Context = Interface->Context;
+    PXENVIF_VIF_CONTEXT                 Context = Interface->Context;
 
     AcquireMrswLockShared(&Context->Lock);
 
@@ -628,9 +628,9 @@ VifTransmitterQueryOffloadOptions(
 
 static VOID
 VifTransmitterQueryLargePacketSize(
-    IN  PINTERFACE      Interface,
-    IN  UCHAR           Version,
-    OUT PULONG          Size
+    _In_ PINTERFACE     Interface,
+    _In_ UCHAR          Version,
+    _Out_ PULONG        Size
     )
 {
     PXENVIF_VIF_CONTEXT Context = Interface->Context;
@@ -646,8 +646,8 @@ VifTransmitterQueryLargePacketSize(
 
 static VOID
 VifReceiverSetOffloadOptions(
-    IN  PINTERFACE                  Interface,
-    IN  XENVIF_VIF_OFFLOAD_OPTIONS  Options
+    _In_ PINTERFACE                 Interface,
+    _In_ XENVIF_VIF_OFFLOAD_OPTIONS Options
     )
 {
     PXENVIF_VIF_CONTEXT             Context = Interface->Context;
@@ -662,8 +662,8 @@ VifReceiverSetOffloadOptions(
 
 static VOID
 VifReceiverSetBackfillSize(
-    IN  PINTERFACE      Interface,
-    IN  ULONG           Size
+    _In_ PINTERFACE     Interface,
+    _In_ ULONG          Size
     )
 {
     PXENVIF_VIF_CONTEXT Context = Interface->Context;
@@ -678,8 +678,8 @@ VifReceiverSetBackfillSize(
 
 static NTSTATUS
 VifReceiverSetHashAlgorithm(
-    IN  PINTERFACE                      Interface,
-    IN  XENVIF_PACKET_HASH_ALGORITHM    Algorithm
+    _In_ PINTERFACE                     Interface,
+    _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm
     )
 {
     PXENVIF_VIF_CONTEXT                 Context = Interface->Context;
@@ -697,7 +697,7 @@ VifReceiverSetHashAlgorithm(
 
 static NTSTATUS
 VifReceiverQueryHashCapabilities(
-    IN  PINTERFACE      Interface,
+    _In_ PINTERFACE     Interface,
     ...
     )
 {
@@ -724,7 +724,7 @@ VifReceiverQueryHashCapabilities(
 
 static NTSTATUS
 VifReceiverUpdateHashParameters(
-    IN  PINTERFACE      Interface,
+    _In_ PINTERFACE     Interface,
     ...
     )
 {
@@ -754,13 +754,13 @@ VifReceiverUpdateHashParameters(
 
 static VOID
 VifMacQueryState(
-    IN  PINTERFACE                  Interface,
-    OUT PNET_IF_MEDIA_CONNECT_STATE MediaConnectState OPTIONAL,
-    OUT PULONG64                    LinkSpeed OPTIONAL,
-    OUT PNET_IF_MEDIA_DUPLEX_STATE  MediaDuplexState OPTIONAL
+    _In_ PINTERFACE                         Interface,
+    _Out_opt_ PNET_IF_MEDIA_CONNECT_STATE   MediaConnectState,
+    _Out_opt_ PULONG64                      LinkSpeed,
+    _Out_opt_ PNET_IF_MEDIA_DUPLEX_STATE    MediaDuplexState
     )
 {
-    PXENVIF_VIF_CONTEXT             Context = Interface->Context;
+    PXENVIF_VIF_CONTEXT                     Context = Interface->Context;
 
     AcquireMrswLockShared(&Context->Lock);
 
@@ -774,8 +774,8 @@ VifMacQueryState(
 
 static VOID
 VifMacQueryMaximumFrameSize(
-    IN  PINTERFACE      Interface,
-    OUT PULONG          Size
+    _In_ PINTERFACE     Interface,
+    _Out_ PULONG        Size
     )
 {
     PXENVIF_VIF_CONTEXT Context = Interface->Context;
@@ -789,8 +789,8 @@ VifMacQueryMaximumFrameSize(
 
 static VOID
 VifMacQueryPermanentAddress(
-    IN  PINTERFACE          Interface,
-    OUT PETHERNET_ADDRESS   Address
+    _In_ PINTERFACE         Interface,
+    _Out_ PETHERNET_ADDRESS Address
     )
 {
     PXENVIF_VIF_CONTEXT     Context = Interface->Context;
@@ -804,8 +804,8 @@ VifMacQueryPermanentAddress(
 
 static VOID
 VifMacQueryCurrentAddress(
-    IN  PINTERFACE          Interface,
-    OUT PETHERNET_ADDRESS   Address
+    _In_ PINTERFACE         Interface,
+    _Out_ PETHERNET_ADDRESS Address
     )
 {
     PXENVIF_VIF_CONTEXT     Context = Interface->Context;
@@ -819,9 +819,9 @@ VifMacQueryCurrentAddress(
 
 static NTSTATUS
 VifMacQueryMulticastAddresses(
-    IN      PINTERFACE          Interface,
-    OUT     PETHERNET_ADDRESS   Address OPTIONAL,
-    IN OUT  PULONG              Count
+    _In_ PINTERFACE             Interface,
+    _Out_opt_ PETHERNET_ADDRESS Address,
+    _Inout_ PULONG              Count
     )
 {
     PXENVIF_VIF_CONTEXT         Context = Interface->Context;
@@ -840,9 +840,9 @@ VifMacQueryMulticastAddresses(
 
 static NTSTATUS
 VifMacSetMulticastAddresses(
-    IN  PINTERFACE          Interface,
-    IN  PETHERNET_ADDRESS   Address,
-    IN  ULONG               Count
+    _In_ PINTERFACE         Interface,
+    _In_ PETHERNET_ADDRESS  Address,
+    _In_ ULONG              Count
     )
 {
     PXENVIF_VIF_CONTEXT     Context = Interface->Context;
@@ -869,13 +869,13 @@ done:
 
 static NTSTATUS
 VifMacQueryFilterLevel(
-    IN  PINTERFACE                  Interface,
-    IN  ETHERNET_ADDRESS_TYPE       Type,
-    OUT PXENVIF_MAC_FILTER_LEVEL    Level
+    _In_ PINTERFACE                 Interface,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _Out_ PXENVIF_MAC_FILTER_LEVEL  Level
     )
 {
     PXENVIF_VIF_CONTEXT             Context = Interface->Context;
-    NTSTATUS                status;
+    NTSTATUS                        status;
 
     AcquireMrswLockShared(&Context->Lock);
 
@@ -890,9 +890,9 @@ VifMacQueryFilterLevel(
 
 static NTSTATUS
 VifMacSetFilterLevel(
-    IN  PINTERFACE                  Interface,
-    IN  ETHERNET_ADDRESS_TYPE       Type,
-    IN  XENVIF_MAC_FILTER_LEVEL     Level
+    _In_ PINTERFACE                 Interface,
+    _In_ ETHERNET_ADDRESS_TYPE      Type,
+    _In_ XENVIF_MAC_FILTER_LEVEL    Level
     )
 {
     PXENVIF_VIF_CONTEXT             Context = Interface->Context;
@@ -909,8 +909,8 @@ VifMacSetFilterLevel(
 
 static VOID
 VifReceiverQueryRingSize(
-    IN  PINTERFACE          Interface,
-    OUT PULONG              Size
+    _In_ PINTERFACE         Interface,
+    _Out_ PULONG            Size
     )
 {
     PXENVIF_VIF_CONTEXT     Context = Interface->Context;
@@ -924,8 +924,8 @@ VifReceiverQueryRingSize(
 
 static VOID
 VifTransmitterQueryRingSize(
-    IN  PINTERFACE          Interface,
-    OUT PULONG              Size
+    _In_ PINTERFACE         Interface,
+    _Out_ PULONG            Size
     )
 {
     PXENVIF_VIF_CONTEXT     Context = Interface->Context;
@@ -964,7 +964,7 @@ done:
 
 VOID
 VifRelease(
-    IN  PINTERFACE          Interface
+    _In_ PINTERFACE         Interface
     )
 {
     PXENVIF_VIF_CONTEXT     Context = Interface->Context;
@@ -1079,11 +1079,11 @@ static struct _XENVIF_VIF_INTERFACE_V10 
VifInterfaceVersion10 = {
 
 NTSTATUS
 VifInitialize(
-    IN  PXENVIF_PDO         Pdo,
-    OUT PXENVIF_VIF_CONTEXT *Context
+    _In_ PXENVIF_PDO                Pdo,
+    _Outptr_ PXENVIF_VIF_CONTEXT    *Context
     )
 {
-    NTSTATUS                status;
+    NTSTATUS                        status;
 
     Trace("====>\n");
 
@@ -1137,10 +1137,10 @@ fail1:
 
 NTSTATUS
 VifGetInterface(
-    IN      PXENVIF_VIF_CONTEXT Context,
-    IN      ULONG               Version,
-    IN OUT  PINTERFACE          Interface,
-    IN      ULONG               Size
+    _In_ PXENVIF_VIF_CONTEXT    Context,
+    _In_ ULONG                  Version,
+    _Inout_ PINTERFACE          Interface,
+    _In_ ULONG                  Size
     )
 {
     NTSTATUS                    status;
@@ -1207,7 +1207,7 @@ VifGetInterface(
 
 VOID
 VifTeardown(
-    IN  PXENVIF_VIF_CONTEXT Context
+    _In_ PXENVIF_VIF_CONTEXT    Context
     )
 {
     Trace("====>\n");
@@ -1236,19 +1236,19 @@ VifTeardown(
 
 VOID
 VifReceiverQueuePacket(
-    IN  PXENVIF_VIF_CONTEXT             Context,
-    IN  ULONG                           Index,
-    IN  PMDL                            Mdl,
-    IN  ULONG                           Offset,
-    IN  ULONG                           Length,
-    IN  XENVIF_PACKET_CHECKSUM_FLAGS    Flags,
-    IN  USHORT                          MaximumSegmentSize,
-    IN  USHORT                          TagControlInformation,
-    IN  PXENVIF_PACKET_INFO             Info,
-    IN  PXENVIF_PACKET_HASH             Hash,
-    IN  BOOLEAN                         More,
-    IN  PVOID                           Cookie,
-    OUT PBOOLEAN                        Pause
+    _In_ PXENVIF_VIF_CONTEXT            Context,
+    _In_ ULONG                          Index,
+    _In_ PMDL                           Mdl,
+    _In_ ULONG                          Offset,
+    _In_ ULONG                          Length,
+    _In_ XENVIF_PACKET_CHECKSUM_FLAGS   Flags,
+    _In_ USHORT                         MaximumSegmentSize,
+    _In_ USHORT                         TagControlInformation,
+    _In_ PXENVIF_PACKET_INFO            Info,
+    _In_ PXENVIF_PACKET_HASH            Hash,
+    _In_ BOOLEAN                        More,
+    _In_ PVOID                          Cookie,
+    _Out_ PBOOLEAN                      Pause
     )
 {
     KIRQL                               Irql;
@@ -1279,9 +1279,9 @@ VifReceiverQueuePacket(
 
 VOID
 VifTransmitterReturnPacket(
-    IN  PXENVIF_VIF_CONTEXT                         Context,
-    IN  PVOID                                       Cookie,
-    IN  PXENVIF_TRANSMITTER_PACKET_COMPLETION_INFO  Completion
+    _In_ PXENVIF_VIF_CONTEXT                        Context,
+    _In_ PVOID                                      Cookie,
+    _In_ PXENVIF_TRANSMITTER_PACKET_COMPLETION_INFO Completion
     )
 {
     XENVIF_VIF_CALLBACK_PARAMETERS                  Parameters;
@@ -1296,7 +1296,7 @@ VifTransmitterReturnPacket(
 
 PXENVIF_THREAD
 VifGetMacThread(
-    IN  PXENVIF_VIF_CONTEXT Context
+    _In_ PXENVIF_VIF_CONTEXT    Context
     )
 {
     return Context->MacThread;
diff --git a/src/xenvif/vif.h b/src/xenvif/vif.h
index e9d38a5..bb7d296 100644
--- a/src/xenvif/vif.h
+++ b/src/xenvif/vif.h
@@ -44,52 +44,52 @@ typedef struct _XENVIF_VIF_CONTEXT  XENVIF_VIF_CONTEXT, 
*PXENVIF_VIF_CONTEXT;
 
 extern NTSTATUS
 VifInitialize(
-    IN  PXENVIF_PDO         Pdo,
-    OUT PXENVIF_VIF_CONTEXT *Context
+    _In_ PXENVIF_PDO                Pdo,
+    _Outptr_ PXENVIF_VIF_CONTEXT    *Context
     );
 
 extern NTSTATUS
 VifGetInterface(
-    IN      PXENVIF_VIF_CONTEXT Context,
-    IN      ULONG               Version,
-    IN OUT  PINTERFACE          Interface,
-    IN      ULONG               Size
+    _In_ PXENVIF_VIF_CONTEXT    Context,
+    _In_ ULONG                  Version,
+    _Inout_ PINTERFACE          Interface,
+    _In_ ULONG                  Size
     );
 
 extern VOID
 VifTeardown(
-    IN  PXENVIF_VIF_CONTEXT Context
+    _In_ PXENVIF_VIF_CONTEXT    Context
     );
 
 // CALLBACKS
 
 extern VOID
 VifReceiverQueuePacket(
-    IN  PXENVIF_VIF_CONTEXT             Context,
-    IN  ULONG                           Index,
-    IN  PMDL                            Mdl,
-    IN  ULONG                           Offset,
-    IN  ULONG                           Length,
-    IN  XENVIF_PACKET_CHECKSUM_FLAGS    Flags,
-    IN  USHORT                          MaximumSegmentSize,
-    IN  USHORT                          TagControlInformation,
-    IN  PXENVIF_PACKET_INFO             Info,
-    IN  PXENVIF_PACKET_HASH             Hash,
-    IN  BOOLEAN                         More,
-    IN  PVOID                           Cookie,
-    OUT PBOOLEAN                        Pause
+    _In_ PXENVIF_VIF_CONTEXT            Context,
+    _In_ ULONG                          Index,
+    _In_ PMDL                           Mdl,
+    _In_ ULONG                          Offset,
+    _In_ ULONG                          Length,
+    _In_ XENVIF_PACKET_CHECKSUM_FLAGS   Flags,
+    _In_ USHORT                         MaximumSegmentSize,
+    _In_ USHORT                         TagControlInformation,
+    _In_ PXENVIF_PACKET_INFO            Info,
+    _In_ PXENVIF_PACKET_HASH            Hash,
+    _In_ BOOLEAN                        More,
+    _In_ PVOID                          Cookie,
+    _Out_ PBOOLEAN                      Pause
     );
 
 extern VOID
 VifTransmitterReturnPacket(
-    IN  PXENVIF_VIF_CONTEXT                         Context,
-    IN  PVOID                                       Cookie,
-    IN  PXENVIF_TRANSMITTER_PACKET_COMPLETION_INFO  Completion
+    _In_ PXENVIF_VIF_CONTEXT                        Context,
+    _In_ PVOID                                      Cookie,
+    _In_ PXENVIF_TRANSMITTER_PACKET_COMPLETION_INFO Completion
     );
 
 extern PXENVIF_THREAD
 VifGetMacThread(
-    IN  PXENVIF_VIF_CONTEXT Context
+    _In_ PXENVIF_VIF_CONTEXT    Context
     );
 
 #endif  // _XENVIF_VIF_H
-- 
2.55.0.windows.5



--
Césaire Mounah | Vates Windows Guest Tools Engineer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.