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

[PATCH 04/21] xenvif: fix direction annotations on written parameters


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
  • Date: Mon, 12 Oct 2026 12:23:16 +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:55 +0000
  • Feedback-id: default:8631fc262581453bbf619ec5b2062170:Sweego
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

Several parameters were annotated _In_ although the functions write
through them.
Change them to match what the functions actually do:

- _Out_ where the function fully initializes the pointee and does not
  depend on its previous contents.
- _Inout_ where the function reads or partially updates existing
  content.

No functional change.

Signed-off-by: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
---
 src/xenvif/controller.c  | 98 ++++++++++++++++++++--------------------
 src/xenvif/controller.h  | 44 +++++++++---------
 src/xenvif/fdo.c         | 60 ++++++++++++------------
 src/xenvif/fdo.h         | 20 ++++----
 src/xenvif/frontend.c    | 80 ++++++++++++++++----------------
 src/xenvif/frontend.h    | 28 ++++++------
 src/xenvif/mac.c         | 46 +++++++++----------
 src/xenvif/mac.h         | 28 ++++++------
 src/xenvif/pdo.c         | 48 ++++++++++----------
 src/xenvif/pdo.h         | 10 ++--
 src/xenvif/receiver.c    | 82 ++++++++++++++++-----------------
 src/xenvif/receiver.h    |  8 ++--
 src/xenvif/thread.c      | 10 ++--
 src/xenvif/thread.h      |  6 +--
 src/xenvif/transmitter.c | 86 +++++++++++++++++------------------
 src/xenvif/transmitter.h |  6 +--
 src/xenvif/vif.c         |  6 +--
 src/xenvif/vif.h         |  2 +-
 18 files changed, 334 insertions(+), 334 deletions(-)

diff --git a/src/xenvif/controller.c b/src/xenvif/controller.c
index 4accb49..215a8f3 100644
--- a/src/xenvif/controller.c
+++ b/src/xenvif/controller.c
@@ -104,7 +104,7 @@ __ControllerFree(
 static FORCEINLINE VOID
 _IRQL_requires_(DISPATCH_LEVEL)
 __ControllerAcquireLock(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -115,7 +115,7 @@ __ControllerAcquireLock(
 static FORCEINLINE VOID
 _IRQL_requires_(DISPATCH_LEVEL)
 __ControllerReleaseLock(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ 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
+    _Out_ PXENVIF_CONTROLLER    Controller
     )
 {
     __ControllerAcquireLock(Controller);
@@ -135,7 +135,7 @@ _Requires_lock_held_(Controller)
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 ControllerReleaseLock(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     )
 {
     __ControllerReleaseLock(Controller);
@@ -185,7 +185,7 @@ ControllerPoll(
 _IRQL_requires_min_(DISPATCH_LEVEL)
 static NTSTATUS
 ControllerPutRequest(
-    _In_ PXENVIF_CONTROLLER         Controller,
+    _Out_ PXENVIF_CONTROLLER        Controller,
     _In_ USHORT                     Type,
     _In_ ULONG                      Data0,
     _In_ ULONG                      Data1,
@@ -428,7 +428,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerConnect(
-    _In_ PXENVIF_CONTROLLER     Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     )
 {
     PXENVIF_FRONTEND            Frontend;
@@ -689,7 +689,7 @@ fail1:
 
 VOID
 ControllerEnable(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     )
 {
     __ControllerAcquireLock(Controller);
@@ -703,7 +703,7 @@ ControllerEnable(
 
 VOID
 ControllerDisable(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     )
 {
     __ControllerAcquireLock(Controller);
@@ -718,7 +718,7 @@ ControllerDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ControllerDisconnect(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     )
 {
     Trace("====>\n");
@@ -781,7 +781,7 @@ done:
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 ControllerTeardown(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -812,12 +812,12 @@ ControllerTeardown(
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashAlgorithm(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ ULONG              Algorithm
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ ULONG                  Algorithm
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    NTSTATUS                status;
+    PXENVIF_FRONTEND            Frontend;
+    NTSTATUS                    status;
 
     Frontend = Controller->Frontend;
 
@@ -853,12 +853,12 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerGetHashFlags(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ PULONG             Flags
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _Out_ PULONG                Flags
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    NTSTATUS                status;
+    PXENVIF_FRONTEND            Frontend;
+    NTSTATUS                    status;
 
     Frontend = Controller->Frontend;
 
@@ -894,12 +894,12 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashFlags(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ ULONG              Flags
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ ULONG                  Flags
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    NTSTATUS                status;
+    PXENVIF_FRONTEND            Frontend;
+    NTSTATUS                    status;
 
     Frontend = Controller->Frontend;
 
@@ -935,17 +935,17 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashKey(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ PUCHAR             Key,
-    _In_ ULONG              Size
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ PUCHAR                 Key,
+    _In_ ULONG                  Size
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    PMDL                    Mdl;
-    PUCHAR                  Buffer;
-    PFN_NUMBER              Pfn;
-    PXENBUS_GNTTAB_ENTRY    Entry;
-    NTSTATUS                status;
+    PXENVIF_FRONTEND            Frontend;
+    PMDL                        Mdl;
+    PUCHAR                      Buffer;
+    PFN_NUMBER                  Pfn;
+    PXENBUS_GNTTAB_ENTRY        Entry;
+    NTSTATUS                    status;
 
     Frontend = Controller->Frontend;
 
@@ -1030,12 +1030,12 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerGetHashMappingSize(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ PULONG             Size
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _Out_ PULONG                Size
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    NTSTATUS                status;
+    PXENVIF_FRONTEND            Frontend;
+    NTSTATUS                    status;
 
     Frontend = Controller->Frontend;
 
@@ -1071,12 +1071,12 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashMappingSize(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ ULONG              Size
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ ULONG                  Size
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    NTSTATUS                status;
+    PXENVIF_FRONTEND            Frontend;
+    NTSTATUS                    status;
 
     Frontend = Controller->Frontend;
 
@@ -1112,18 +1112,18 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 ControllerSetHashMapping(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ PULONG             Mapping,
-    _In_ ULONG              Size,
-    _In_ ULONG              Offset
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ PULONG                 Mapping,
+    _In_ ULONG                  Size,
+    _In_ ULONG                  Offset
     )
 {
-    PXENVIF_FRONTEND        Frontend;
-    PMDL                    Mdl;
-    PUCHAR                  Buffer;
-    PFN_NUMBER              Pfn;
-    PXENBUS_GNTTAB_ENTRY    Entry;
-    NTSTATUS                status;
+    PXENVIF_FRONTEND            Frontend;
+    PMDL                        Mdl;
+    PUCHAR                      Buffer;
+    PFN_NUMBER                  Pfn;
+    PXENBUS_GNTTAB_ENTRY        Entry;
+    NTSTATUS                    status;
 
     Frontend = Controller->Frontend;
 
diff --git a/src/xenvif/controller.h b/src/xenvif/controller.h
index f920397..ab6314c 100644
--- a/src/xenvif/controller.h
+++ b/src/xenvif/controller.h
@@ -51,7 +51,7 @@ ControllerInitialize(
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerConnect(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
@@ -63,76 +63,76 @@ ControllerStoreWrite(
 
 extern VOID
 ControllerEnable(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     );
 
 extern VOID
 ControllerDisable(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ControllerDisconnect(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     );
 
 _IRQL_requires_(PASSIVE_LEVEL)
 extern VOID
 ControllerTeardown(
-    _In_ PXENVIF_CONTROLLER Controller
+    _Out_ PXENVIF_CONTROLLER    Controller
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashAlgorithm(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ ULONG              Algorithm
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ ULONG                  Algorithm
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerGetHashFlags(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ PULONG             Flags
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _Out_ PULONG                Flags
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashFlags(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ ULONG              Flags
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ ULONG                  Flags
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashKey(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ PUCHAR             Key,
-    _In_ ULONG              Size
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ PUCHAR                 Key,
+    _In_ ULONG                  Size
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerGetHashMappingSize(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ PULONG             Size
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _Out_ PULONG                Size
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 ControllerSetHashMappingSize(
-    _In_ PXENVIF_CONTROLLER Controller,
-    _In_ ULONG              Size
+    _Out_ 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
+    _Out_ PXENVIF_CONTROLLER    Controller,
+    _In_ PULONG                 Mapping,
+    _In_ ULONG                  Size,
+    _In_ ULONG                  Offset
     );
 
 
diff --git a/src/xenvif/fdo.c b/src/xenvif/fdo.c
index 0a0e44f..46ac5b7 100644
--- a/src/xenvif/fdo.c
+++ b/src/xenvif/fdo.c
@@ -232,7 +232,7 @@ FdoGetPhysicalDeviceObject(
 _IRQL_requires_(PASSIVE_LEVEL)
 static FORCEINLINE NTSTATUS
 __FdoAcquireLowerBusInterface(
-    _In_ PXENVIF_FDO        Fdo
+    _Out_ PXENVIF_FDO       Fdo
     )
 {
     PBUS_INTERFACE_STANDARD BusInterface;
@@ -315,7 +315,7 @@ fail1:
 
 static FORCEINLINE VOID
 __FdoReleaseLowerBusInterface(
-    _In_ PXENVIF_FDO        Fdo
+    _Out_ PXENVIF_FDO       Fdo
     )
 {
     PBUS_INTERFACE_STANDARD BusInterface;
@@ -351,14 +351,14 @@ FdoGetDmaAdapter(
 
 BOOLEAN
 FdoTranslateBusAddress(
-    _In_ PXENVIF_FDO            Fdo,
-    _In_ PHYSICAL_ADDRESS       BusAddress,
-    _In_ ULONG                  Length,
-    _Inout_ PULONG              AddressSpace,
-    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
+    _In_ PXENVIF_FDO        Fdo,
+    _In_ PHYSICAL_ADDRESS   BusAddress,
+    _In_ ULONG              Length,
+    _Inout_ PULONG          AddressSpace,
+    _Out_ PPHYSICAL_ADDRESS TranslatedAddress
     )
 {
-    PBUS_INTERFACE_STANDARD     BusInterface;
+    PBUS_INTERFACE_STANDARD BusInterface;
 
     BusInterface = Fdo->LowerBusInterface;
     ASSERT(BusInterface != NULL);
@@ -621,7 +621,7 @@ FdoForwardIrpSynchronously(
 
 NTSTATUS
 FdoAddPhysicalDeviceObject(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PXENVIF_PDO    Pdo
     )
 {
@@ -655,7 +655,7 @@ fail1:
 
 VOID
 FdoRemovePhysicalDeviceObject(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PXENVIF_PDO    Pdo
     )
 {
@@ -706,7 +706,7 @@ __FdoReleaseMutex(
 
 VOID
 FdoReleaseMutex(
-    _In_ PXENVIF_FDO    Fdo
+    _Out_ PXENVIF_FDO   Fdo
     )
 {
     __FdoReleaseMutex(Fdo);
@@ -848,7 +848,7 @@ done:
 
 static FORCEINLINE PANSI_STRING
 __FdoMultiSzToUpcaseAnsi(
-    _In_ PSTR       Buffer
+    _Out_ PSTR      Buffer
     )
 {
     PANSI_STRING    Ansi;
@@ -1055,7 +1055,7 @@ loop:
 
 static DECLSPEC_NOINLINE VOID
 FdoParseResources(
-    _In_ PXENVIF_FDO            Fdo,
+    _Inout_ PXENVIF_FDO         Fdo,
     _In_ PCM_RESOURCE_LIST      RawResourceList,
     _In_ PCM_RESOURCE_LIST      TranslatedResourceList
     )
@@ -1103,7 +1103,7 @@ FdoParseResources(
 static FORCEINLINE BOOLEAN
 __FdoMatchDistribution(
     _In_ PXENVIF_FDO    Fdo,
-    _In_ PSTR           Buffer
+    _Out_ PSTR          Buffer
     )
 {
     PCHAR               Vendor;
@@ -1359,7 +1359,7 @@ fail1:
 
 static FORCEINLINE VOID
 __FdoD0ToD3(
-    _In_ PXENVIF_FDO    Fdo
+    _Out_ PXENVIF_FDO   Fdo
     )
 {
     Trace("====>\n");
@@ -1399,7 +1399,7 @@ FdoSuspendCallbackLate(
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE NTSTATUS
 FdoD3ToD0(
-    _In_ PXENVIF_FDO    Fdo
+    _Out_ PXENVIF_FDO   Fdo
     )
 {
     POWER_STATE         PowerState;
@@ -1492,7 +1492,7 @@ fail1:
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE VOID
 FdoD0ToD3(
-    _In_ PXENVIF_FDO    Fdo
+    _Out_ PXENVIF_FDO   Fdo
     )
 {
     POWER_STATE         PowerState;
@@ -1574,7 +1574,7 @@ FdoS3ToS4(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoStartDevice(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -1669,7 +1669,7 @@ FdoCancelStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoStopDevice(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -1767,7 +1767,7 @@ FdoSurpriseRemoval(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoRemoveDevice(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -1849,7 +1849,7 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryDeviceRelations(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -1973,7 +1973,7 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryCapabilities(
-    _In_ PXENVIF_FDO        Fdo,
+    _Out_ PXENVIF_FDO       Fdo,
     _In_ PIRP               Irp
     )
 {
@@ -2013,7 +2013,7 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDeviceUsageNotification(
-    _In_ PXENVIF_FDO                Fdo,
+    _Out_ PXENVIF_FDO               Fdo,
     _In_ PIRP                       Irp
     )
 {
@@ -2104,7 +2104,7 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchPnp(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -2292,7 +2292,7 @@ FdoDevicePowerDownWorker(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePowerDown(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -2336,7 +2336,7 @@ __FdoSetDevicePowerDown(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePower(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -2986,7 +2986,7 @@ done:
 
 static FORCEINLINE NTSTATUS
 __FdoDevicePower(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -3044,7 +3044,7 @@ __FdoSystemPower(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchPower(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -3089,7 +3089,7 @@ FdoDispatchDefault(
 
 NTSTATUS
 FdoDispatch(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     )
 {
@@ -3461,7 +3461,7 @@ fail1:
 
 VOID
 FdoDestroy(
-    _In_ PXENVIF_FDO    Fdo
+    _Out_ PXENVIF_FDO   Fdo
     )
 {
     PXENVIF_DX          Dx = Fdo->Dx;
diff --git a/src/xenvif/fdo.h b/src/xenvif/fdo.h
index c72066d..72017b7 100644
--- a/src/xenvif/fdo.h
+++ b/src/xenvif/fdo.h
@@ -58,13 +58,13 @@ FdoGetName(
 
 extern NTSTATUS
 FdoAddPhysicalDeviceObject(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PXENVIF_PDO    Pdo
     );
 
 extern VOID
 FdoRemovePhysicalDeviceObject(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PXENVIF_PDO    Pdo
     );
 
@@ -75,7 +75,7 @@ FdoAcquireMutex(
 
 extern VOID
 FdoReleaseMutex(
-    _In_ PXENVIF_FDO    Fdo
+    _Out_ PXENVIF_FDO   Fdo
     );
 
 extern PDEVICE_OBJECT
@@ -92,11 +92,11 @@ FdoGetDmaAdapter(
 
 extern BOOLEAN
 FdoTranslateBusAddress(
-    _In_ PXENVIF_FDO            Fdo,
-    _In_ PHYSICAL_ADDRESS       BusAddress,
-    _In_ ULONG                  Length,
-    _Inout_ PULONG              AddressSpace,
-    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
+    _In_ PXENVIF_FDO         Fdo,
+    _In_ PHYSICAL_ADDRESS    BusAddress,
+    _In_ ULONG               Length,
+    _Inout_ PULONG           AddressSpace,
+    _Out_ PPHYSICAL_ADDRESS  TranslatedAddress
     );
 
 extern ULONG
@@ -125,7 +125,7 @@ FdoDelegateIrp(
 
 extern NTSTATUS
 FdoDispatch(
-    _In_ PXENVIF_FDO    Fdo,
+    _Out_ PXENVIF_FDO   Fdo,
     _In_ PIRP           Irp
     );
 
@@ -152,7 +152,7 @@ FdoCreate(
 
 extern VOID
 FdoDestroy(
-    _In_ PXENVIF_FDO    Fdo
+    _Out_ PXENVIF_FDO   Fdo
     );
 
 #endif  // _XENVIF_FDO_H
diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c
index c11f85c..313631d 100644
--- a/src/xenvif/frontend.c
+++ b/src/xenvif/frontend.c
@@ -240,7 +240,7 @@ FrontendGetBackendDomain(
 
 static VOID
 FrontendSetMaxQueues(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     HANDLE                  ParametersKey;
@@ -443,7 +443,7 @@ loop:
 
 VOID
 FrontendEjectFailed(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     KIRQL                   Irql;
@@ -494,7 +494,7 @@ fail1:
 
 static NTSTATUS
 FrontendProcessInterfaceTable(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _In_ PMIB_IF_TABLE2     Table
     )
 {
@@ -542,7 +542,7 @@ found:
 
 static NTSTATUS
 FrontendInsertAddress(
-    _In_ PXENVIF_FRONTEND       Frontend,
+    _Out_ PXENVIF_FRONTEND      Frontend,
     _In_ const SOCKADDR_INET    *Address,
     _In_ UINT8                  Prefix
     )
@@ -606,7 +606,7 @@ fail1:
 
 static NTSTATUS
 FrontendProcessAddressTable(
-    _In_ PXENVIF_FRONTEND               Frontend,
+    _Out_ PXENVIF_FRONTEND              Frontend,
     _In_ PMIB_UNICASTIPADDRESS_TABLE    Table
     )
 {
@@ -1138,20 +1138,20 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetMulticastAddresses(
-    _In_ PXENVIF_FRONTEND   Frontend,
-    _In_ PETHERNET_ADDRESS  Address,
-    _In_ ULONG              Count
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _Inout_ PETHERNET_ADDRESS   Address,
+    _In_ ULONG                  Count
     )
 {
-    PXENVIF_TRANSMITTER     Transmitter;
-    PXENVIF_MAC             Mac;
-    KIRQL                   Irql;
-    PETHERNET_ADDRESS       MulticastAddress;
-    ULONG                   MulticastCount;
-    ULONG                   MulticastIndex;
-    ULONG                   Index;
-    BOOLEAN                 Change;
-    NTSTATUS                status;
+    PXENVIF_TRANSMITTER         Transmitter;
+    PXENVIF_MAC                 Mac;
+    KIRQL                       Irql;
+    PETHERNET_ADDRESS           MulticastAddress;
+    ULONG                       MulticastCount;
+    ULONG                       MulticastIndex;
+    ULONG                       Index;
+    BOOLEAN                     Change;
+    NTSTATUS                    status;
 
     Transmitter = FrontendGetTransmitter(Frontend);
     Mac = FrontendGetMac(Frontend);
@@ -1348,7 +1348,7 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 FrontendAdvertiseIpAddresses(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     PXENVIF_TRANSMITTER     Transmitter;
@@ -1394,7 +1394,7 @@ FrontendAdvertiseIpAddresses(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendSetOnline(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     Trace("====>\n");
@@ -1407,7 +1407,7 @@ FrontendSetOnline(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendSetOffline(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     Trace("====>\n");
@@ -1421,7 +1421,7 @@ FrontendSetOffline(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendSetXenbusState(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _In_ XenbusState        State
     )
 {
@@ -1454,7 +1454,7 @@ FrontendSetXenbusState(
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 FrontendAcquireBackend(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     PCHAR                   Buffer;
@@ -1606,7 +1606,7 @@ FrontendWaitForBackendXenbusStateChange(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendReleaseBackend(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     Trace("=====>\n");
@@ -1627,7 +1627,7 @@ FrontendReleaseBackend(
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendClose(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     XenbusState             State;
@@ -1689,7 +1689,7 @@ FrontendClose(
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 FrontendPrepare(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     XenbusState             State;
@@ -1950,7 +1950,7 @@ FrontendDebugCallback(
 
 static NTSTATUS
 FrontendSetNumQueues(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     PCHAR                   Buffer;
@@ -2007,7 +2007,7 @@ FrontendGetNumQueues(
 
 static VOID
 FrontendSetSplit(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     PCHAR                   Buffer;
@@ -2134,7 +2134,7 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetHashAlgorithm(
-    _In_ PXENVIF_FRONTEND               Frontend,
+    _Out_ PXENVIF_FRONTEND              Frontend,
     _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm
     )
 {
@@ -2201,7 +2201,7 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendQueryHashTypes(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _Out_ PULONG            Types
     )
 {
@@ -2241,7 +2241,7 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetHashMapping(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _In_ PULONG             Mapping,
     _In_ ULONG              Size
     )
@@ -2285,7 +2285,7 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetHashKey(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _In_ PUCHAR             Key
     )
 {
@@ -2320,7 +2320,7 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetHashTypes(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _In_ ULONG              Types
     )
 {
@@ -2396,7 +2396,7 @@ FrontendGetQueue(
 _IRQL_requires_(DISPATCH_LEVEL)
 static NTSTATUS
 FrontendConnect(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     XenbusState             State;
@@ -2593,7 +2593,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static VOID
 FrontendDisconnect(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     Trace("====>\n");
@@ -2699,7 +2699,7 @@ FrontendIsPoisoned(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendSetState(
-    _In_ PXENVIF_FRONTEND       Frontend,
+    _Out_ PXENVIF_FRONTEND      Frontend,
     _In_ XENVIF_FRONTEND_STATE  State
     )
 {
@@ -2876,7 +2876,7 @@ FrontendSetState(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __FrontendResume(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -2888,7 +2888,7 @@ __FrontendResume(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __FrontendSuspend(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -2923,7 +2923,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(DISPATCH_LEVEL)
 NTSTATUS
 FrontendResume(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ 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
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     KIRQL                   Irql;
@@ -3253,7 +3253,7 @@ fail1:
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 FrontendTeardown(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     )
 {
     Trace("====>\n");
diff --git a/src/xenvif/frontend.h b/src/xenvif/frontend.h
index e2ddac6..41a9f10 100644
--- a/src/xenvif/frontend.h
+++ b/src/xenvif/frontend.h
@@ -67,18 +67,18 @@ FrontendInitialize(
 _IRQL_requires_(PASSIVE_LEVEL)
 extern VOID
 FrontendTeardown(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     );
 
 extern VOID
 FrontendEjectFailed(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetState(
-    _In_ PXENVIF_FRONTEND       Frontend,
+    _Out_ PXENVIF_FRONTEND      Frontend,
     _In_ XENVIF_FRONTEND_STATE  State
     );
 
@@ -86,14 +86,14 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendResume(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     );
 
 _IRQL_requires_min_(PASSIVE_LEVEL)
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 FrontendSuspend(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     );
 
 extern PXENVIF_PDO
@@ -198,9 +198,9 @@ FrontendIncrementStatistic(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetMulticastAddresses(
-    _In_ PXENVIF_FRONTEND   Frontend,
-    _In_ PETHERNET_ADDRESS  Address,
-    _In_ ULONG              Count
+    _In_ PXENVIF_FRONTEND       Frontend,
+    _Inout_ PETHERNET_ADDRESS   Address,
+    _In_ ULONG                  Count
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
@@ -214,27 +214,27 @@ FrontendSetFilterLevel(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern VOID
 FrontendAdvertiseIpAddresses(
-    _In_ PXENVIF_FRONTEND   Frontend
+    _Out_ PXENVIF_FRONTEND  Frontend
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetHashAlgorithm(
-    _In_ PXENVIF_FRONTEND               Frontend,
+    _Out_ PXENVIF_FRONTEND              Frontend,
     _In_ XENVIF_PACKET_HASH_ALGORITHM   Algorithm
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendQueryHashTypes(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _Out_ PULONG            Types
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetHashMapping(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _In_ PULONG             Mapping,
     _In_ ULONG              Order
     );
@@ -242,14 +242,14 @@ FrontendSetHashMapping(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetHashKey(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _In_ PUCHAR             Key
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 extern NTSTATUS
 FrontendSetHashTypes(
-    _In_ PXENVIF_FRONTEND   Frontend,
+    _Out_ PXENVIF_FRONTEND  Frontend,
     _In_ ULONG              Types
     );
 
diff --git a/src/xenvif/mac.c b/src/xenvif/mac.c
index d7f14dd..8cbcabe 100644
--- a/src/xenvif/mac.c
+++ b/src/xenvif/mac.c
@@ -89,7 +89,7 @@ __MacFree(
 
 static FORCEINLINE NTSTATUS
 __MacSetPermanentAddress(
-    _In_ PXENVIF_MAC        Mac,
+    _Out_ PXENVIF_MAC       Mac,
     _In_ PETHERNET_ADDRESS  Address
     )
 {
@@ -130,7 +130,7 @@ MacQueryPermanentAddress(
 
 static FORCEINLINE NTSTATUS
 __MacSetCurrentAddress(
-    _In_ PXENVIF_MAC        Mac,
+    _Out_ PXENVIF_MAC       Mac,
     _In_ PETHERNET_ADDRESS  Address
     )
 {
@@ -253,7 +253,7 @@ fail1:
 static FORCEINLINE VOID
 _IRQL_requires_(DISPATCH_LEVEL)
 __MacAcquireLockExclusive(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -264,7 +264,7 @@ __MacAcquireLockExclusive(
 static FORCEINLINE VOID
 _IRQL_requires_(DISPATCH_LEVEL)
 __MacReleaseLockExclusive(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -276,7 +276,7 @@ __MacReleaseLockExclusive(
 static FORCEINLINE VOID
 _IRQL_requires_(DISPATCH_LEVEL)
 __MacAcquireLockShared(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -287,7 +287,7 @@ __MacAcquireLockShared(
 static FORCEINLINE VOID
 _IRQL_requires_(DISPATCH_LEVEL)
 __MacReleaseLockShared(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -298,7 +298,7 @@ __MacReleaseLockShared(
 
 NTSTATUS
 MacDumpAddressTable(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -403,7 +403,7 @@ fail1:
 
 NTSTATUS
 MacConnect(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -516,7 +516,7 @@ fail1:
 
 NTSTATUS
 MacEnable(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -577,7 +577,7 @@ fail1:
 
 VOID
 MacDisable(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -610,7 +610,7 @@ MacDisable(
 
 VOID
 MacDisconnect(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     PXENVIF_FRONTEND    Frontend;
@@ -650,7 +650,7 @@ MacDisconnect(
 
 VOID
 MacTeardown(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     )
 {
     while (!IsListEmpty(&Mac->MulticastList)) {
@@ -829,7 +829,7 @@ MacQueryMaximumFrameSize(
 
 NTSTATUS
 MacAddMulticastAddress(
-    _In_ PXENVIF_MAC            Mac,
+    _Out_ PXENVIF_MAC           Mac,
     _In_ PETHERNET_ADDRESS      Address
     )
 {
@@ -878,7 +878,7 @@ fail1:
 
 NTSTATUS
 MacRemoveMulticastAddress(
-    _In_ PXENVIF_MAC            Mac,
+    _Out_ PXENVIF_MAC           Mac,
     _In_ PETHERNET_ADDRESS      Address
     )
 {
@@ -941,14 +941,14 @@ fail1:
 
 NTSTATUS
 MacQueryMulticastAddresses(
-    _In_ PXENVIF_MAC            Mac,
-    _In_opt_ PETHERNET_ADDRESS  Address,
-    _Inout_ PULONG              Count
+    _Out_ PXENVIF_MAC               Mac,
+    _Inout_opt_ PETHERNET_ADDRESS   Address,
+    _Inout_ PULONG                  Count
     )
 {
-    PLIST_ENTRY                 ListEntry;
-    KIRQL                       Irql;
-    NTSTATUS                    status;
+    PLIST_ENTRY                     ListEntry;
+    KIRQL                           Irql;
+    NTSTATUS                        status;
 
     KeRaiseIrql(DISPATCH_LEVEL, &Irql);
     __MacAcquireLockShared(Mac);
@@ -996,7 +996,7 @@ MacQueryBroadcastAddress(
 
 NTSTATUS
 MacSetFilterLevel(
-    _In_ PXENVIF_MAC                Mac,
+    _Out_ PXENVIF_MAC               Mac,
     _In_ ETHERNET_ADDRESS_TYPE      Type,
     _In_ XENVIF_MAC_FILTER_LEVEL    Level
     )
@@ -1036,7 +1036,7 @@ fail1:
 
 NTSTATUS
 MacQueryFilterLevel(
-    _In_ PXENVIF_MAC                Mac,
+    _Out_ PXENVIF_MAC               Mac,
     _In_ ETHERNET_ADDRESS_TYPE      Type,
     _Out_ PXENVIF_MAC_FILTER_LEVEL  Level
     )
@@ -1066,7 +1066,7 @@ fail1:
 
 BOOLEAN
 MacApplyFilters(
-    _In_ PXENVIF_MAC        Mac,
+    _Out_ PXENVIF_MAC       Mac,
     _In_ PETHERNET_ADDRESS  DestinationAddress
     )
 {
diff --git a/src/xenvif/mac.h b/src/xenvif/mac.h
index c964a2f..d407d1d 100644
--- a/src/xenvif/mac.h
+++ b/src/xenvif/mac.h
@@ -49,27 +49,27 @@ MacInitialize(
 
 extern NTSTATUS
 MacConnect(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     );
 
 extern NTSTATUS
 MacEnable(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     );
 
 extern VOID
 MacDisable(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     );
 
 extern VOID
 MacDisconnect(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     );
 
 extern VOID
 MacTeardown(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     );
 
 extern VOID
@@ -98,38 +98,38 @@ MacQueryBroadcastAddress(
 
 extern NTSTATUS
 MacDumpAddressTable(
-    _In_ PXENVIF_MAC    Mac
+    _Out_ PXENVIF_MAC   Mac
     );
 
 extern NTSTATUS
 MacAddMulticastAddress(
-    _In_ PXENVIF_MAC        Mac,
+    _Out_ PXENVIF_MAC       Mac,
     _Out_ PETHERNET_ADDRESS Address
     );
 
 extern NTSTATUS
 MacRemoveMulticastAddress(
-    _In_ PXENVIF_MAC        Mac,
+    _Out_ PXENVIF_MAC       Mac,
     _Out_ PETHERNET_ADDRESS Address
     );
 
 extern NTSTATUS
 MacQueryMulticastAddresses(
-    _In_ PXENVIF_MAC            Mac,
-    _Out_opt_ PETHERNET_ADDRESS Address,
-    _Inout_ PULONG              Count
+    _Out_ PXENVIF_MAC               Mac,
+    _Inout_opt_ PETHERNET_ADDRESS   Address,
+    _Inout_ PULONG                  Count
     );
 
 extern NTSTATUS
 MacSetFilterLevel(
-    _In_ PXENVIF_MAC                Mac,
+    _Out_ PXENVIF_MAC               Mac,
     _In_ ETHERNET_ADDRESS_TYPE      Type,
     _In_ XENVIF_MAC_FILTER_LEVEL    Level
     );
 
 extern NTSTATUS
 MacQueryFilterLevel(
-    _In_ PXENVIF_MAC                Mac,
+    _Out_ PXENVIF_MAC               Mac,
     _In_ ETHERNET_ADDRESS_TYPE      Type,
     _Out_ PXENVIF_MAC_FILTER_LEVEL  Level
     );
@@ -144,7 +144,7 @@ MacQueryState(
 
 extern BOOLEAN
 MacApplyFilters(
-    _In_ PXENVIF_MAC        Mac,
+    _Out_ PXENVIF_MAC       Mac,
     _In_ PETHERNET_ADDRESS  DestinationAddress
     );
 
diff --git a/src/xenvif/pdo.c b/src/xenvif/pdo.c
index 09f6d9d..e8c9067 100644
--- a/src/xenvif/pdo.c
+++ b/src/xenvif/pdo.c
@@ -211,7 +211,7 @@ __PdoGetDevicePowerState(
 
 static FORCEINLINE VOID
 __PdoSetMissing(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PCSTR          Reason
     )
 {
@@ -221,7 +221,7 @@ __PdoSetMissing(
 
 VOID
 PdoSetMissing(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PCSTR          Reason
     )
 {
@@ -296,7 +296,7 @@ PdoGetName(
 
 static FORCEINLINE BOOLEAN
 __PdoSetEjectRequested(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     )
 {
     return (InterlockedBitTestAndSet(&Pdo->Eject, 0) == 0) ? TRUE : FALSE;
@@ -304,7 +304,7 @@ __PdoSetEjectRequested(
 
 VOID
 PdoRequestEject(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     )
 {
     PXENVIF_DX          Dx = Pdo->Dx;
@@ -324,7 +324,7 @@ PdoRequestEject(
 
 static FORCEINLINE BOOLEAN
 __PdoClearEjectRequested(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     )
 {
     return (InterlockedBitTestAndReset(&Pdo->Eject, 0) != 0) ? TRUE : FALSE;
@@ -353,7 +353,7 @@ DEFINE_GUID(GUID_CONTAINER_ID_NAME_SPACE,
 
 static NTSTATUS
 __PdoSetContainerID(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     )
 {
     BCRYPT_ALG_HANDLE   Algorithm;
@@ -730,7 +730,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __PdoSetPermanentAddress(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PSTR           Buffer
     )
 {
@@ -782,7 +782,7 @@ PdoGetPermanentAddress(
 
 static FORCEINLINE VOID
 __PdoClearPermanentAddress(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     )
 {
     (VOID) RegistryDeleteValue(DriverGetAddressesKey(),
@@ -849,7 +849,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __PdoSetCurrentAddress(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ HANDLE         Key
     )
 {
@@ -912,7 +912,7 @@ PdoTranslateBusAddress(
     _In_ PHYSICAL_ADDRESS       BusAddress,
     _In_ ULONG                  Length,
     _Inout_ PULONG              AddressSpace,
-    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
+    _Out_ PPHYSICAL_ADDRESS     TranslatedAddress
     )
 {
     Trace("<===>\n");
@@ -1087,7 +1087,7 @@ fail1:
 // This function must not touch pageable code or data
 static DECLSPEC_NOINLINE VOID
 PdoD0ToD3(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     )
 {
     KIRQL               Irql;
@@ -1235,7 +1235,7 @@ fail1:
 
 static VOID
 PdoUnplugRequest(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ BOOLEAN        Make
     )
 {
@@ -1428,7 +1428,7 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoStartDevice(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -1554,7 +1554,7 @@ PdoCancelStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoStopDevice(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -1598,7 +1598,7 @@ PdoQueryRemoveDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoCancelRemoveDevice(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -1637,7 +1637,7 @@ PdoSurpriseRemoval(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoRemoveDevice(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -2261,7 +2261,7 @@ PdoDeviceUsageNotification(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoEject(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -2290,7 +2290,7 @@ PdoEject(
 
 static DECLSPEC_NOINLINE NTSTATUS
 PdoDispatchPnp(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -2447,7 +2447,7 @@ PdoDevicePowerWorker(
 
 static FORCEINLINE NTSTATUS
 __PdoSetDevicePower(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -2537,7 +2537,7 @@ PdoSystemPowerWorker(
 
 static FORCEINLINE NTSTATUS
 __PdoSetSystemPower(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -2569,7 +2569,7 @@ __PdoSetSystemPower(
 
 static FORCEINLINE NTSTATUS
 __PdoSetPower(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -2614,7 +2614,7 @@ __PdoQueryPower(
 
 static NTSTATUS
 PdoDispatchPower(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -2659,7 +2659,7 @@ PdoDispatchDefault(
 
 NTSTATUS
 PdoDispatch(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     )
 {
@@ -2871,7 +2871,7 @@ fail1:
 
 VOID
 PdoDestroy(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     )
 {
     PXENVIF_DX          Dx = Pdo->Dx;
diff --git a/src/xenvif/pdo.h b/src/xenvif/pdo.h
index 086edef..517183a 100644
--- a/src/xenvif/pdo.h
+++ b/src/xenvif/pdo.h
@@ -53,7 +53,7 @@ PdoGetDevicePnpState(
 
 extern VOID
 PdoSetMissing(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PCSTR          Reason
     );
 
@@ -64,7 +64,7 @@ PdoIsMissing(
 
 extern VOID
 PdoRequestEject(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     );
 
 extern BOOLEAN
@@ -107,7 +107,7 @@ PdoTranslateBusAddress(
     _In_ PHYSICAL_ADDRESS       BusAddress,
     _In_ ULONG                  Length,
     _Inout_ PULONG              AddressSpace,
-    _Outptr_ PPHYSICAL_ADDRESS  TranslatedAddress
+    _Out_ PPHYSICAL_ADDRESS     TranslatedAddress
     );
 
 extern ULONG
@@ -157,7 +157,7 @@ PdoSuspend(
 
 extern VOID
 PdoDestroy(
-    _In_ PXENVIF_PDO    Pdo
+    _Out_ PXENVIF_PDO   Pdo
     );
 
 #include "frontend.h"
@@ -206,7 +206,7 @@ PdoGetVifInterface(
 
 extern NTSTATUS
 PdoDispatch(
-    _In_ PXENVIF_PDO    Pdo,
+    _Out_ PXENVIF_PDO   Pdo,
     _In_ PIRP           Irp
     );
 
diff --git a/src/xenvif/receiver.c b/src/xenvif/receiver.c
index 29ae090..7ddb1e2 100644
--- a/src/xenvif/receiver.c
+++ b/src/xenvif/receiver.c
@@ -171,7 +171,7 @@ __ReceiverFree(
 
 static VOID FORCEINLINE
 __ReceiverPacketMdlInit(
-    _In_ PXENVIF_RECEIVER_PACKET    Packet
+    _Out_ PXENVIF_RECEIVER_PACKET   Packet
     )
 {
     PMDL                            Mdl = Packet->SystemMdl;
@@ -280,7 +280,7 @@ __ReceiverRingGetPacket(
 static FORCEINLINE VOID
 __ReceiverRingPutPacket(
     _In_ PXENVIF_RECEIVER_RING      Ring,
-    _In_ PXENVIF_RECEIVER_PACKET    Packet,
+    _Out_ PXENVIF_RECEIVER_PACKET   Packet,
     _In_ BOOLEAN                    Locked
     )
 {
@@ -410,7 +410,7 @@ __ReceiverRingPutFragment(
 static DECLSPEC_NOINLINE VOID
 ReceiverRingProcessTag(
     _In_ PXENVIF_RECEIVER_RING      Ring,
-    _In_ PXENVIF_RECEIVER_PACKET    Packet
+    _Out_ PXENVIF_RECEIVER_PACKET   Packet
     )
 {
     PXENVIF_PACKET_INFO             Info;
@@ -477,7 +477,7 @@ ReceiverRingProcessTag(
 static DECLSPEC_NOINLINE VOID
 ReceiverRingProcessChecksum(
     _In_ PXENVIF_RECEIVER_RING      Ring,
-    _In_ PXENVIF_RECEIVER_PACKET    Packet
+    _Out_ PXENVIF_RECEIVER_PACKET   Packet
     )
 {
     PXENVIF_RECEIVER                Receiver;
@@ -649,7 +649,7 @@ ReceiverRingProcessChecksum(
 static BOOLEAN
 ReceiverRingPullup(
     _In_ PVOID                      Argument,
-    _In_ PUCHAR                     DestinationVa,
+    _Inout_ PUCHAR                  DestinationVa,
     _Inout_ PXENVIF_PACKET_PAYLOAD  Payload,
     _In_ ULONG                      Length
     )
@@ -707,7 +707,7 @@ fail1:
 static FORCEINLINE VOID
 __ReceiverRingPullupPacket(
     _In_ PXENVIF_RECEIVER_RING      Ring,
-    _In_ PXENVIF_RECEIVER_PACKET    Packet
+    _Out_ PXENVIF_RECEIVER_PACKET   Packet
     )
 {
     PUCHAR                          BaseVa;
@@ -740,7 +740,7 @@ __ReceiverRingBuildSegment(
     _In_ PXENVIF_RECEIVER_RING      Ring,
     _In_ PXENVIF_RECEIVER_PACKET    Packet,
     _In_ ULONG                      SegmentSize,
-    _In_ PXENVIF_PACKET_PAYLOAD     Payload
+    _Out_ PXENVIF_PACKET_PAYLOAD    Payload
     )
 {
     PXENVIF_RECEIVER                Receiver;
@@ -920,8 +920,8 @@ fail1:
 
 static VOID
 ReceiverRingCompletePacket(
-    _In_ PXENVIF_RECEIVER_RING      Ring,
-    _In_ PXENVIF_RECEIVER_PACKET    Packet
+    _Out_ PXENVIF_RECEIVER_RING     Ring,
+    _Out_ PXENVIF_RECEIVER_PACKET   Packet
     )
 {
     ReceiverRingProcessTag(Ring, Packet);
@@ -933,8 +933,8 @@ ReceiverRingCompletePacket(
 
 static VOID
 ReceiverRingProcessLargePacket(
-    _In_ PXENVIF_RECEIVER_RING      Ring,
-    _In_ PXENVIF_RECEIVER_PACKET    Packet
+    _Out_ PXENVIF_RECEIVER_RING     Ring,
+    _Out_ PXENVIF_RECEIVER_PACKET   Packet
     )
 {
     PXENVIF_RECEIVER                Receiver;
@@ -1107,8 +1107,8 @@ fail1:
 
 static VOID
 ReceiverRingProcessStandardPacket(
-    _In_ PXENVIF_RECEIVER_RING      Ring,
-    _In_ PXENVIF_RECEIVER_PACKET    Packet
+    _Out_ PXENVIF_RECEIVER_RING     Ring,
+    _Out_ PXENVIF_RECEIVER_PACKET   Packet
     )
 {
     PXENVIF_RECEIVER                Receiver;
@@ -1210,8 +1210,8 @@ fail1:
 
 static VOID
 ReceiverRingProcessPacket(
-    _In_ PXENVIF_RECEIVER_RING      Ring,
-    _In_ PXENVIF_RECEIVER_PACKET    Packet
+    _Out_ PXENVIF_RECEIVER_RING     Ring,
+    _Out_ 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
+    _Out_ 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
+    _Out_ 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
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     __ReceiverRingAcquireLock(Ring);
@@ -1602,7 +1602,7 @@ ReceiverRingAcquireLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingReleaseLock(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ 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
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     __ReceiverRingReleaseLock(Ring);
@@ -1645,7 +1645,7 @@ ReceiverRingQueueDpc(
 
 static FORCEINLINE VOID
 __ReceiverRingStop(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     Ring->Stopped = TRUE;
@@ -1653,7 +1653,7 @@ __ReceiverRingStop(
 
 static FORCEINLINE VOID
 __ReceiverRingStart(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     Ring->Stopped = FALSE;
@@ -1670,7 +1670,7 @@ __ReceiverRingIsStopped(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingTrigger(
-    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _Out_ PXENVIF_RECEIVER_RING Ring,
     _In_ BOOLEAN                Locked
     )
 {
@@ -1692,7 +1692,7 @@ __ReceiverRingTrigger(
 
 static FORCEINLINE VOID
 __ReceiverRingSend(
-    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _Out_ PXENVIF_RECEIVER_RING Ring,
     _In_ BOOLEAN                Locked
     )
 {
@@ -1766,7 +1766,7 @@ fail1:
 
 static FORCEINLINE VOID
 __ReceiverRingPushRequests(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     BOOLEAN                     Notify;
@@ -1790,7 +1790,7 @@ __ReceiverRingPushRequests(
 
 static NTSTATUS
 ReceiverRingFill(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -1860,7 +1860,7 @@ ReceiverRingFill(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __ReceiverRingReturnPacket(
-    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _Out_ PXENVIF_RECEIVER_RING     Ring,
     _In_ PXENVIF_RECEIVER_PACKET    Packet,
     _In_ BOOLEAN                    Locked
     )
@@ -2006,7 +2006,7 @@ ReceiverRingDebugCallback(
 
 static FORCEINLINE VOID
 __ReceiverRingQueuePacket(
-    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _Out_ PXENVIF_RECEIVER_RING     Ring,
     _In_ PXENVIF_RECEIVER_PACKET    Packet
     )
 {
@@ -2027,7 +2027,7 @@ __ReceiverRingQueuePacket(
 _IRQL_requires_(DISPATCH_LEVEL)
 static DECLSPEC_NOINLINE ULONG
 ReceiverRingPoll(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2599,7 +2599,7 @@ fail1:
 
 static FORCEINLINE VOID
 __ReceiverRingSetAffinity(
-    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _Out_ PXENVIF_RECEIVER_RING Ring,
     _In_ PPROCESSOR_NUMBER      Processor
     )
 {
@@ -2622,7 +2622,7 @@ __ReceiverRingSetAffinity(
 
 static FORCEINLINE NTSTATUS
 __ReceiverRingConnect(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2847,7 +2847,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __ReceiverRingEnable(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ 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
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {    
     PXENVIF_RECEIVER            Receiver;
@@ -2926,7 +2926,7 @@ __ReceiverRingDisable(
 
 static FORCEINLINE VOID
 __ReceiverRingDisconnect(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -2992,7 +2992,7 @@ __ReceiverRingDisconnect(
 
 static FORCEINLINE VOID
 __ReceiverRingTeardown(
-    _In_ PXENVIF_RECEIVER_RING  Ring
+    _Out_ PXENVIF_RECEIVER_RING Ring
     )
 {
     PXENVIF_RECEIVER            Receiver;
@@ -3049,7 +3049,7 @@ __ReceiverRingTeardown(
 
 static FORCEINLINE VOID
 __ReceiverRingSetOffloadOptions(
-    _In_ PXENVIF_RECEIVER_RING      Ring,
+    _Out_ PXENVIF_RECEIVER_RING     Ring,
     _In_ XENVIF_VIF_OFFLOAD_OPTIONS Options
     )
 {
@@ -3066,7 +3066,7 @@ __ReceiverRingSetOffloadOptions(
 
 static FORCEINLINE VOID
 __ReceiverRingSetBackfillSize(
-    _In_ PXENVIF_RECEIVER_RING  Ring,
+    _Out_ PXENVIF_RECEIVER_RING Ring,
     _In_ ULONG                  Size
     )
 {
@@ -3613,7 +3613,7 @@ ReceiverDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ReceiverDisconnect(
-    _In_ PXENVIF_RECEIVER   Receiver
+    _Out_ PXENVIF_RECEIVER  Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3649,7 +3649,7 @@ ReceiverDisconnect(
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 ReceiverTeardown(
-    _In_ PXENVIF_RECEIVER   Receiver
+    _Out_ PXENVIF_RECEIVER  Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
@@ -3780,7 +3780,7 @@ ReceiverQueryRingSize(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 ReceiverReturnPacket(
-    _In_ PXENVIF_RECEIVER   Receiver,
+    _Out_ PXENVIF_RECEIVER  Receiver,
     _In_ PVOID              Cookie
     )
 {
@@ -3810,7 +3810,7 @@ ReceiverReturnPacket(
 _IRQL_requires_max_(APC_LEVEL)
 VOID
 ReceiverWaitForPackets(
-    _In_ PXENVIF_RECEIVER   Receiver
+    _Out_ PXENVIF_RECEIVER  Receiver
     )
 {
     PXENVIF_FRONTEND        Frontend;
diff --git a/src/xenvif/receiver.h b/src/xenvif/receiver.h
index 2122f0d..d2b86fa 100644
--- a/src/xenvif/receiver.h
+++ b/src/xenvif/receiver.h
@@ -76,19 +76,19 @@ ReceiverDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ReceiverDisconnect(
-    _In_ PXENVIF_RECEIVER   Receiver
+    _Out_ PXENVIF_RECEIVER  Receiver
     );
 
 _IRQL_requires_(PASSIVE_LEVEL)
 extern VOID
 ReceiverTeardown(
-    _In_ PXENVIF_RECEIVER   Receiver
+    _Out_ PXENVIF_RECEIVER  Receiver
     );
 
 _IRQL_requires_max_(APC_LEVEL)
 extern VOID
 ReceiverWaitForPackets(
-    _In_ PXENVIF_RECEIVER   Receiver
+    _Out_ PXENVIF_RECEIVER  Receiver
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
@@ -115,7 +115,7 @@ ReceiverSetBackfillSize(
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 ReceiverReturnPacket(
-    _In_ PXENVIF_RECEIVER   Receiver,
+    _Out_ PXENVIF_RECEIVER  Receiver,
     _In_ PVOID              Cookie
     );
 
diff --git a/src/xenvif/thread.c b/src/xenvif/thread.c
index b510c9e..ed9315e 100644
--- a/src/xenvif/thread.c
+++ b/src/xenvif/thread.c
@@ -66,7 +66,7 @@ __ThreadFree(
 
 static FORCEINLINE VOID
 __ThreadWake(
-    _In_ PXENVIF_THREAD Thread
+    _Out_ PXENVIF_THREAD    Thread
     )
 {
     KeSetEvent(&Thread->Event, IO_NO_INCREMENT, FALSE);
@@ -74,7 +74,7 @@ __ThreadWake(
 
 VOID
 ThreadWake(
-    _In_ PXENVIF_THREAD Thread
+    _Out_ PXENVIF_THREAD    Thread
     )
 {
     __ThreadWake(Thread);
@@ -82,7 +82,7 @@ ThreadWake(
 
 static FORCEINLINE VOID
 __ThreadAlert(
-    _In_ PXENVIF_THREAD Thread
+    _Out_ PXENVIF_THREAD    Thread
     )
 {
     Thread->Alerted = TRUE;
@@ -91,7 +91,7 @@ __ThreadAlert(
 
 VOID
 ThreadAlert(
-    _In_ PXENVIF_THREAD Thread
+    _Out_ PXENVIF_THREAD    Thread
     )
 {
     __ThreadAlert(Thread);
@@ -207,7 +207,7 @@ ThreadIsAlerted(
 
 VOID
 ThreadJoin(
-    _In_ PXENVIF_THREAD     Thread
+    _Out_ PXENVIF_THREAD    Thread
     )
 {
     LONG                    References;
diff --git a/src/xenvif/thread.h b/src/xenvif/thread.h
index 5926a6f..6ee965a 100644
--- a/src/xenvif/thread.h
+++ b/src/xenvif/thread.h
@@ -59,17 +59,17 @@ ThreadIsAlerted(
 
 extern VOID
 ThreadWake(
-    _In_ PXENVIF_THREAD Thread
+    _Out_ PXENVIF_THREAD    Thread
     );
 
 extern VOID
 ThreadAlert(
-    _In_ PXENVIF_THREAD Thread
+    _Out_ PXENVIF_THREAD    Thread
     );
 
 extern VOID
 ThreadJoin(
-    _In_ PXENVIF_THREAD Thread
+    _Out_ PXENVIF_THREAD    Thread
     );
 
 #endif  // _XENVIF_THREAD_H
diff --git a/src/xenvif/transmitter.c b/src/xenvif/transmitter.c
index 605f0cc..2549162 100644
--- a/src/xenvif/transmitter.c
+++ b/src/xenvif/transmitter.c
@@ -340,8 +340,8 @@ __TransmitterGetPacket(
 
 static FORCEINLINE VOID
 __TransmitterPutPacket(
-    _In_ PXENVIF_TRANSMITTER        Transmitter,
-    _In_ PXENVIF_TRANSMITTER_PACKET Packet
+    _In_ PXENVIF_TRANSMITTER            Transmitter,
+    _Out_ PXENVIF_TRANSMITTER_PACKET    Packet
     )
 {
     ASSERT(IsZeroMemory(&Packet->ListEntry, sizeof (LIST_ENTRY)));
@@ -789,7 +789,7 @@ TransmitterRingDebugCallback(
 static BOOLEAN
 TransmitterPullup(
     _In_ PVOID                      Argument,
-    _In_ PUCHAR                     DestinationVa,
+    _Inout_ PUCHAR                  DestinationVa,
     _Inout_ PXENVIF_PACKET_PAYLOAD  Payload,
     _In_ ULONG                      Length
     )
@@ -847,7 +847,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingCopyPayload(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1004,7 +1004,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingGrantPayload(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1528,7 +1528,7 @@ fail1:
 
 static FORCEINLINE PXENVIF_TRANSMITTER_PACKET
 __TransmitterRingUnprepareFragments(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -1649,7 +1649,7 @@ __TransmitterRingUnprepareFragments(
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingPreparePacket(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring,
     _In_ PXENVIF_TRANSMITTER_PACKET Packet
     )
 {
@@ -2135,7 +2135,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingPostFragments(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -2383,7 +2383,7 @@ fail1:
 
 static FORCEINLINE VOID
 __TransmitterRingFakeResponses(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ 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
+    _Out_ PXENVIF_TRANSMITTER_RING      Ring,
+    _Out_ PXENVIF_TRANSMITTER_PACKET    Packet
     )
 {
     InsertTailList(&Ring->PacketComplete, &Packet->ListEntry);
@@ -2465,7 +2465,7 @@ __TransmitterRingCompletePacket(
 
 static DECLSPEC_NOINLINE ULONG
 TransmitterRingPoll(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -2700,7 +2700,7 @@ __TransmitterRingSend(
 
 static FORCEINLINE VOID
 __TransmitterRingPushRequests(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ 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
+    _Out_ 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
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER_STATE       State;
@@ -2905,17 +2905,17 @@ TransmitterRingSchedule(
 
 static FORCEINLINE VOID
 __TransmitterSetCompletionInfo(
-    _In_ PXENVIF_TRANSMITTER        Transmitter,
-    _In_ PXENVIF_TRANSMITTER_PACKET Packet
+    _In_ PXENVIF_TRANSMITTER            Transmitter,
+    _Out_ PXENVIF_TRANSMITTER_PACKET    Packet
     )
 {
-    PXENVIF_FRONTEND                Frontend;
-    PXENVIF_PACKET_PAYLOAD          Payload;
-    PXENVIF_PACKET_INFO             Info;
-    PUCHAR                          BaseVa;
-    PETHERNET_HEADER                EthernetHeader;
-    PETHERNET_ADDRESS               DestinationAddress;
-    ETHERNET_ADDRESS_TYPE           Type;
+    PXENVIF_FRONTEND                    Frontend;
+    PXENVIF_PACKET_PAYLOAD              Payload;
+    PXENVIF_PACKET_INFO                 Info;
+    PUCHAR                              BaseVa;
+    PETHERNET_HEADER                    EthernetHeader;
+    PETHERNET_ADDRESS                   DestinationAddress;
+    ETHERNET_ADDRESS_TYPE               Type;
 
     Frontend = Transmitter->Frontend;
 
@@ -3108,7 +3108,7 @@ __TransmitterReturnPackets(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE BOOLEAN
 __TransmitterRingTryAcquireLock(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ 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
+    _Out_ 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
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     __TransmitterRingAcquireLock(Ring);
@@ -3162,7 +3162,7 @@ TransmitterRingAcquireLock(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE BOOLEAN
 __TransmitterRingTryReleaseLock(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ 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
+    _Out_ 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
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     __TransmitterRingReleaseLock(Ring);
@@ -3675,7 +3675,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingConnect(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -3908,7 +3908,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingEnable(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ 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
+    _Out_ 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
+    _Out_ 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
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4194,7 +4194,7 @@ __TransmitterRingTeardown(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingQueuePacket(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring,
     _In_ PXENVIF_TRANSMITTER_PACKET Packet,
     _In_ BOOLEAN                    More
     )
@@ -4231,7 +4231,7 @@ __TransmitterRingQueuePacket(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE VOID
 __TransmitterRingAbortPackets(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring
     )
 {
     PXENVIF_TRANSMITTER             Transmitter;
@@ -4283,7 +4283,7 @@ __TransmitterRingAbortPackets(
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingQueueArp(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring,
     _In_ PIPV4_ADDRESS              Address
     )
 {
@@ -4334,7 +4334,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 static FORCEINLINE NTSTATUS
 __TransmitterRingQueueNeighbourAdvertisement(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring,
     _In_ PIPV6_ADDRESS              Address
     )
 {
@@ -4406,7 +4406,7 @@ TransmitterHasMulticastControl(
 
 static FORCEINLINE NTSTATUS
 __TransmitterRingQueueMulticastControl(
-    _In_ PXENVIF_TRANSMITTER_RING   Ring,
+    _Out_ PXENVIF_TRANSMITTER_RING  Ring,
     _In_ PETHERNET_ADDRESS          Address,
     _In_ BOOLEAN                    Add
     )
@@ -4692,7 +4692,7 @@ fail1:
 _IRQL_requires_(DISPATCH_LEVEL)
 NTSTATUS
 TransmitterConnect(
-    _In_ PXENVIF_TRANSMITTER    Transmitter
+    _Out_ PXENVIF_TRANSMITTER   Transmitter
     )
 {
     PXENVIF_FRONTEND            Frontend;
@@ -4950,7 +4950,7 @@ TransmitterDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 TransmitterDisconnect(
-    _In_ PXENVIF_TRANSMITTER    Transmitter
+    _Out_ PXENVIF_TRANSMITTER   Transmitter
     )
 {
     PXENVIF_FRONTEND            Frontend;
@@ -5007,7 +5007,7 @@ TransmitterIsPoisoned(
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 TransmitterTeardown(
-    _In_ PXENVIF_TRANSMITTER    Transmitter
+    _Out_ PXENVIF_TRANSMITTER   Transmitter
     )
 {
     PXENVIF_FRONTEND            Frontend;
diff --git a/src/xenvif/transmitter.h b/src/xenvif/transmitter.h
index eadd311..894b65d 100644
--- a/src/xenvif/transmitter.h
+++ b/src/xenvif/transmitter.h
@@ -53,7 +53,7 @@ TransmitterInitialize(
 _IRQL_requires_(DISPATCH_LEVEL)
 extern NTSTATUS
 TransmitterConnect(
-    _In_ PXENVIF_TRANSMITTER    Transmitter
+    _Out_ PXENVIF_TRANSMITTER   Transmitter
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
@@ -78,7 +78,7 @@ TransmitterDisable(
 _IRQL_requires_(DISPATCH_LEVEL)
 extern VOID
 TransmitterDisconnect(
-    _In_ PXENVIF_TRANSMITTER    Transmitter
+    _Out_ PXENVIF_TRANSMITTER   Transmitter
     );
 
 extern BOOLEAN
@@ -89,7 +89,7 @@ TransmitterIsPoisoned(
 _IRQL_requires_(PASSIVE_LEVEL)
 extern VOID
 TransmitterTeardown(
-    _In_ PXENVIF_TRANSMITTER    Transmitter
+    _Out_ PXENVIF_TRANSMITTER   Transmitter
     );
 
 extern VOID
diff --git a/src/xenvif/vif.c b/src/xenvif/vif.c
index e059cd0..3c7dd41 100644
--- a/src/xenvif/vif.c
+++ b/src/xenvif/vif.c
@@ -306,7 +306,7 @@ static VOID
 VifCallbackVersion9(
     _In_opt_ PVOID                          _Argument,
     _In_ XENVIF_VIF_CALLBACK_TYPE           Type,
-    _In_ PXENVIF_VIF_CALLBACK_PARAMETERS    Parameters
+    _Out_ PXENVIF_VIF_CALLBACK_PARAMETERS   Parameters
     )
 {
 #define XENVIF_RECEIVER_QUEUE_MAX 1024 // Chosen to match IN_NDIS_MAX in XENNET
@@ -841,7 +841,7 @@ VifMacQueryMulticastAddresses(
 static NTSTATUS
 VifMacSetMulticastAddresses(
     _In_ PINTERFACE         Interface,
-    _In_ PETHERNET_ADDRESS  Address,
+    _Out_ PETHERNET_ADDRESS Address,
     _In_ ULONG              Count
     )
 {
@@ -1207,7 +1207,7 @@ VifGetInterface(
 
 VOID
 VifTeardown(
-    _In_ PXENVIF_VIF_CONTEXT    Context
+    _Out_ PXENVIF_VIF_CONTEXT   Context
     )
 {
     Trace("====>\n");
diff --git a/src/xenvif/vif.h b/src/xenvif/vif.h
index bb7d296..4411343 100644
--- a/src/xenvif/vif.h
+++ b/src/xenvif/vif.h
@@ -58,7 +58,7 @@ VifGetInterface(
 
 extern VOID
 VifTeardown(
-    _In_ PXENVIF_VIF_CONTEXT    Context
+    _Out_ PXENVIF_VIF_CONTEXT   Context
     );
 
 // CALLBACKS
-- 
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®.