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

[PATCH 1/6] xenhid: Convert all annotations to SAL 2.0 for better code analysis


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
  • Date: Tue, 29 Sep 2026 19:05:08 +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: Tue, 29 Sep 2026 17:06:00 +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.

Assisted-by: Claude/Sonnet-4
Signed-off-by: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
---
 src/xenhid/assert.h    |  28 +++----
 src/xenhid/dbg_print.h |  20 ++---
 src/xenhid/driver.c    |  20 ++---
 src/xenhid/fdo.c       | 164 ++++++++++++++++++++---------------------
 src/xenhid/fdo.h       |  12 +--
 src/xenhid/names.h     |  18 ++---
 src/xenhid/string.c    |  28 +++----
 src/xenhid/string.h    |  10 +--
 src/xenhid/thread.c    |  28 +++----
 src/xenhid/thread.h    |  18 ++---
 src/xenhid/util.h      |  56 +++++++-------
 11 files changed, 201 insertions(+), 201 deletions(-)

diff --git a/src/xenhid/assert.h b/src/xenhid/assert.h
index 913938d..6cea1de 100644
--- a/src/xenhid/assert.h
+++ b/src/xenhid/assert.h
@@ -39,11 +39,11 @@
 
 static FORCEINLINE VOID
 __Bug(
-    IN  ULONG       Code,
-    IN  ULONG_PTR   Parameter1,
-    IN  ULONG_PTR   Parameter2,
-    IN  ULONG_PTR   Parameter3,
-    IN  ULONG_PTR   Parameter4
+    _In_ ULONG      Code,
+    _In_ ULONG_PTR  Parameter1,
+    _In_ ULONG_PTR  Parameter2,
+    _In_ ULONG_PTR  Parameter3,
+    _In_ ULONG_PTR  Parameter4
     )
 {
 #pragma prefast(suppress:28159)
@@ -154,13 +154,13 @@ __Bug(
 
 static __inline BOOLEAN
 _IsZeroMemory(
-    IN  const PCHAR Caller,
-    IN  const PCHAR Name,
-    IN  PVOID       Buffer,
-    IN  ULONG       Length
+    _In_ const PCHAR    Caller,
+    _In_ const PCHAR    Name,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Length
     )
 {
-    ULONG           Offset;
+    ULONG               Offset;
 
     Offset = 0;
     while (Offset < Length) {
@@ -178,10 +178,10 @@ _IsZeroMemory(
 
 static __inline BOOLEAN
 _IsZeroMemory(
-    IN  const PCHAR Caller,
-    IN  const PCHAR Name,
-    IN  PVOID       Buffer,
-    IN  ULONG       Length
+    _In_ const PCHAR    Caller,
+    _In_ const PCHAR    Name,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          Length
     )
 {
     UNREFERENCED_PARAMETER(Caller);
diff --git a/src/xenhid/dbg_print.h b/src/xenhid/dbg_print.h
index 5dab9e5..758311d 100644
--- a/src/xenhid/dbg_print.h
+++ b/src/xenhid/dbg_print.h
@@ -44,8 +44,8 @@
 
 static __inline VOID
 __Error(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
@@ -67,8 +67,8 @@ __Error(
 
 static __inline VOID
 __Warning(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
@@ -92,8 +92,8 @@ __Warning(
 
 static __inline VOID
 __Trace(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
@@ -114,8 +114,8 @@ __Trace(
 
 static __inline VOID
 __Trace(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
@@ -130,8 +130,8 @@ __Trace(
 
 static __inline VOID
 __Info(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
diff --git a/src/xenhid/driver.c b/src/xenhid/driver.c
index fb655b0..6d3fc6f 100644
--- a/src/xenhid/driver.c
+++ b/src/xenhid/driver.c
@@ -51,7 +51,7 @@ static XENHID_DRIVER    Driver;
 
 static FORCEINLINE VOID
 __DriverSetDriverObject(
-    IN  PDRIVER_OBJECT  DriverObject
+    _In_ PDRIVER_OBJECT DriverObject
     )
 {
     Driver.DriverObject = DriverObject;
@@ -77,7 +77,7 @@ DRIVER_UNLOAD       DriverUnload;
 
 VOID
 DriverUnload(
-    IN  PDRIVER_OBJECT  DriverObject
+    _In_ PDRIVER_OBJECT DriverObject
     )
 {
     ASSERT3P(DriverObject, ==, __DriverGetDriverObject());
@@ -104,8 +104,8 @@ DRIVER_ADD_DEVICE   AddDevice;
 
 NTSTATUS
 AddDevice(
-    IN  PDRIVER_OBJECT  DriverObject,
-    IN  PDEVICE_OBJECT  DeviceObject
+    _In_ PDRIVER_OBJECT     DriverObject,
+    _In_ PDEVICE_OBJECT     DeviceObject
     )
 {
     PHID_DEVICE_EXTENSION   Hid;
@@ -137,8 +137,8 @@ DRIVER_DISPATCH Dispatch;
 
 NTSTATUS 
 Dispatch(
-    IN PDEVICE_OBJECT   DeviceObject,
-    IN PIRP             Irp
+    _In_ PDEVICE_OBJECT     DeviceObject,
+    _In_ PIRP               Irp
     )
 {
     PHID_DEVICE_EXTENSION   Hid;
@@ -157,8 +157,8 @@ DRIVER_INITIALIZE   DriverEntry;
 
 NTSTATUS
 DriverEntry(
-    IN  PDRIVER_OBJECT          DriverObject,
-    IN  PUNICODE_STRING         RegistryPath
+    _In_ PDRIVER_OBJECT         DriverObject,
+    _In_ PUNICODE_STRING        RegistryPath
     )
 {
     HID_MINIDRIVER_REGISTRATION Minidriver;
@@ -188,8 +188,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/xenhid/fdo.c b/src/xenhid/fdo.c
index 7111ba6..c6160e5 100644
--- a/src/xenhid/fdo.c
+++ b/src/xenhid/fdo.c
@@ -82,11 +82,11 @@ IO_CSQ_INSERT_IRP FdoCsqInsertIrp;
 
 VOID
 FdoCsqInsertIrp(
-    IN  PIO_CSQ Csq,
-    IN  PIRP    Irp
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp
     )
 {
-    PXENHID_FDO Fdo = CONTAINING_RECORD(Csq, XENHID_FDO, Queue);
+    PXENHID_FDO     Fdo = CONTAINING_RECORD(Csq, XENHID_FDO, Queue);
 
     InsertTailList(&Fdo->List, &Irp->Tail.Overlay.ListEntry);
 }
@@ -95,8 +95,8 @@ IO_CSQ_REMOVE_IRP FdoCsqRemoveIrp;
 
 VOID
 FdoCsqRemoveIrp(
-    IN  PIO_CSQ Csq,
-    IN  PIRP    Irp
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp
     )
 {
     UNREFERENCED_PARAMETER(Csq);
@@ -108,14 +108,14 @@ IO_CSQ_PEEK_NEXT_IRP FdoCsqPeekNextIrp;
 
 PIRP
 FdoCsqPeekNextIrp(
-    IN  PIO_CSQ Csq,
-    IN  PIRP    Irp,
-    IN  PVOID   Context
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp,
+    _In_ PVOID      Context
     )
 {
-    PXENHID_FDO Fdo = CONTAINING_RECORD(Csq, XENHID_FDO, Queue);
-    PLIST_ENTRY ListEntry;
-    PIRP        NextIrp;
+    PXENHID_FDO     Fdo = CONTAINING_RECORD(Csq, XENHID_FDO, Queue);
+    PLIST_ENTRY     ListEntry;
+    PIRP            NextIrp;
 
     UNREFERENCED_PARAMETER(Context);
 
@@ -140,11 +140,11 @@ IO_CSQ_ACQUIRE_LOCK FdoCsqAcquireLock;
 
 VOID
 FdoCsqAcquireLock(
-    IN  PIO_CSQ Csq,
-    OUT PKIRQL  Irql
+    _In_ PIO_CSQ    Csq,
+    _Out_ PKIRQL    Irql
     )
 {
-    PXENHID_FDO Fdo = CONTAINING_RECORD(Csq, XENHID_FDO, Queue);
+    PXENHID_FDO     Fdo = CONTAINING_RECORD(Csq, XENHID_FDO, Queue);
 
     KeAcquireSpinLock(&Fdo->Lock, Irql);
 }
@@ -153,11 +153,11 @@ IO_CSQ_RELEASE_LOCK FdoCsqReleaseLock;
 
 VOID
 FdoCsqReleaseLock(
-    IN  PIO_CSQ Csq,
-    IN  KIRQL   Irql
+    _In_ PIO_CSQ    Csq,
+    _In_ KIRQL      Irql
     )
 {
-    PXENHID_FDO Fdo = CONTAINING_RECORD(Csq, XENHID_FDO, Queue);
+    PXENHID_FDO     Fdo = CONTAINING_RECORD(Csq, XENHID_FDO, Queue);
 
     KeReleaseSpinLock(&Fdo->Lock, Irql);
 }
@@ -168,8 +168,8 @@ IO_CSQ_COMPLETE_CANCELED_IRP FdoCsqCompleteCanceledIrp;
 
 VOID
 FdoCsqCompleteCanceledIrp(
-    IN  PIO_CSQ Csq,
-    IN  PIRP    Irp
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp
     )
 {
     UNREFERENCED_PARAMETER(Csq);
@@ -181,9 +181,9 @@ FdoCsqCompleteCanceledIrp(
 
 static DECLSPEC_NOINLINE BOOLEAN
 FdoHidCallback(
-    IN  PVOID       Argument,
-    IN  PVOID       Buffer,
-    IN  ULONG       Length
+    _In_ PVOID      Argument,
+    _In_ PVOID      Buffer,
+    _In_ ULONG      Length
     )
 {
     PXENHID_FDO     Fdo = Argument;
@@ -210,7 +210,7 @@ done:
 
 static FORCEINLINE PVOID
 __FdoAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     PVOID       Buffer;
@@ -224,7 +224,7 @@ __FdoAllocate(
 
 static FORCEINLINE VOID
 __FdoFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, FDO_POOL_TAG);
@@ -232,8 +232,8 @@ __FdoFree(
 
 static FORCEINLINE VOID
 __FdoSetDevicePowerState(
-    IN  PXENHID_FDO         Fdo,
-    IN  DEVICE_POWER_STATE  State
+    _In_ PXENHID_FDO        Fdo,
+    _In_ DEVICE_POWER_STATE State
 )
 {
     Fdo->DevicePowerState = State;
@@ -241,7 +241,7 @@ __FdoSetDevicePowerState(
 
 static FORCEINLINE DEVICE_POWER_STATE
 __FdoGetDevicePowerState(
-    IN  PXENHID_FDO     Fdo
+    _In_ PXENHID_FDO    Fdo
 )
 {
     return Fdo->DevicePowerState;
@@ -249,7 +249,7 @@ __FdoGetDevicePowerState(
 
 static FORCEINLINE PANSI_STRING
 __FdoMultiSzToUpcaseAnsi(
-    IN  PCHAR       Buffer
+    _In_ PCHAR      Buffer
 )
 {
     PANSI_STRING    Ansi;
@@ -315,7 +315,7 @@ fail1:
 
 static FORCEINLINE VOID
 __FdoFreeAnsi(
-    IN  PANSI_STRING    Ansi
+    _In_ PANSI_STRING   Ansi
     )
 {
     ULONG               Index;
@@ -328,8 +328,8 @@ __FdoFreeAnsi(
 
 static FORCEINLINE BOOLEAN
 __FdoMatchDistribution(
-    IN  PXENHID_FDO     Fdo,
-    IN  PCHAR           Buffer
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PCHAR          Buffer
 )
 {
     PCHAR               Vendor;
@@ -390,7 +390,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __FdoSetDistribution(
-    IN  PXENHID_FDO     Fdo
+    _In_ PXENHID_FDO    Fdo
     )
 {
     ULONG               Index;
@@ -491,7 +491,7 @@ fail1:
 
 static FORCEINLINE VOID
 __FdoClearDistribution(
-    IN  PXENHID_FDO     Fdo
+    _In_ PXENHID_FDO    Fdo
     )
 {
     PCHAR               Buffer;
@@ -552,7 +552,7 @@ done:
 
 static DECLSPEC_NOINLINE VOID
 FdoSuspendCallback(
-    IN  PVOID       Argument
+    _In_ PVOID      Argument
     )
 {
     PXENHID_FDO     Fdo = Argument;
@@ -562,7 +562,7 @@ FdoSuspendCallback(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoSetDistribution(
-    IN  PXENHID_FDO Fdo
+    _In_ PXENHID_FDO    Fdo
     )
 {
     NTSTATUS            status;
@@ -593,7 +593,7 @@ fail1:
 
 static DECLSPEC_NOINLINE VOID
 FdoClearDistribution(
-    IN  PXENHID_FDO Fdo
+    _In_ PXENHID_FDO    Fdo
     )
 {
     Trace("====>\n");
@@ -610,10 +610,10 @@ FdoClearDistribution(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoD3ToD0(
-    IN  PXENHID_FDO Fdo
+    _In_ PXENHID_FDO    Fdo
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     ASSERT3U(__FdoGetDevicePowerState(Fdo), ==, PowerDeviceD3);
 
@@ -684,7 +684,7 @@ fail1:
 
 static DECLSPEC_NOINLINE VOID
 FdoD0ToD3(
-    IN  PXENHID_FDO Fdo
+    _In_ PXENHID_FDO    Fdo
     )
 {
     Trace("=====>\n");
@@ -715,11 +715,11 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchDefault(
-    IN  PXENHID_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     IoSkipCurrentIrpStackLocation(Irp);
     status = IoCallDriver(Fdo->LowerDeviceObject, Irp);
@@ -727,13 +727,13 @@ FdoDispatchDefault(
     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;
@@ -748,8 +748,8 @@ __FdoForwardIrpSynchronously(
 
 static NTSTATUS
 FdoForwardIrpSynchronously(
-    IN  PXENHID_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     KEVENT              Event;
@@ -786,8 +786,8 @@ FdoForwardIrpSynchronously(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoStartDevice(
-    IN  PXENHID_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     NTSTATUS            status;
@@ -819,11 +819,11 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoStopDevice(
-    IN  PXENHID_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     FdoD0ToD3(Fdo);
 
@@ -837,11 +837,11 @@ FdoStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoRemoveDevice(
-    IN  PXENHID_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
 
@@ -859,8 +859,8 @@ FdoRemoveDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchPnp(
-    IN  PXENHID_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -902,8 +902,8 @@ FdoDispatchPnp(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePowerUp(
-    IN  PXENHID_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
 )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -939,8 +939,8 @@ done:
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePowerDown(
-    IN  PXENHID_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
 )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -969,8 +969,8 @@ __FdoSetDevicePowerDown(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePower(
-    IN  PXENHID_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
 )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1009,8 +1009,8 @@ done:
 
 static NTSTATUS
 FdoDevicePower(
-    IN  PXENHID_THREAD  Self,
-    IN  PVOID           Context
+    _In_ PXENHID_THREAD Self,
+    _In_ PVOID          Context
 )
 {
     PXENHID_FDO         Fdo = (PXENHID_FDO)Context;
@@ -1062,8 +1062,8 @@ FdoDevicePower(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchPower(
-    IN  PXENHID_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
 )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1118,8 +1118,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchInternal(
-    IN  PXENHID_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1262,8 +1262,8 @@ FdoDispatchInternal(
 
 NTSTATUS
 FdoDispatch(
-    IN  PXENHID_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1293,11 +1293,11 @@ FdoDispatch(
 
 static FORCEINLINE NTSTATUS
 FdoQueryInterface(
-    IN  PXENHID_FDO     Fdo,
-    IN  const GUID      *Guid,
-    IN  ULONG           Version,
-    OUT PINTERFACE      Interface,
-    IN  ULONG           Size
+    _In_ PXENHID_FDO    Fdo,
+    _In_ const GUID     *Guid,
+    _In_ ULONG          Version,
+    _Out_ PINTERFACE    Interface,
+    _In_ ULONG          Size
     )
 {
     KEVENT              Event;
@@ -1359,9 +1359,9 @@ fail1:
 
 NTSTATUS
 FdoCreate(
-    IN  PXENHID_FDO     Fdo,
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PDEVICE_OBJECT  LowerDeviceObject
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PDEVICE_OBJECT LowerDeviceObject
     )
 {
     NTSTATUS            status;
@@ -1455,7 +1455,7 @@ fail1:
 
 VOID
 FdoDestroy(
-    IN  PXENHID_FDO Fdo
+    _In_ PXENHID_FDO    Fdo
     )
 {
     Trace("=====>\n");
diff --git a/src/xenhid/fdo.h b/src/xenhid/fdo.h
index 1a8931d..a5dc870 100644
--- a/src/xenhid/fdo.h
+++ b/src/xenhid/fdo.h
@@ -42,20 +42,20 @@ FdoGetSize(
 
 extern NTSTATUS
 FdoDispatch(
-    IN  PXENHID_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PIRP           Irp
     );
 
 extern NTSTATUS
 FdoCreate(
-    IN  PXENHID_FDO     Fdo,
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PDEVICE_OBJECT  LowerDeviceObject
+    _In_ PXENHID_FDO    Fdo,
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PDEVICE_OBJECT LowerDeviceObject
     );
 
 extern VOID
 FdoDestroy(
-    IN  PXENHID_FDO Fdo
+    _In_ PXENHID_FDO    Fdo
     );
 
 #endif  // _XENHID_FDO_H
diff --git a/src/xenhid/names.h b/src/xenhid/names.h
index be36847..1dacb4b 100644
--- a/src/xenhid/names.h
+++ b/src/xenhid/names.h
@@ -39,7 +39,7 @@
 
 static FORCEINLINE const CHAR *
 PowerTypeName(
-    IN  POWER_STATE_TYPE    Type
+    _In_ POWER_STATE_TYPE   Type
     )
 {
 #define _POWER_TYPE_NAME(_Type) \
@@ -59,7 +59,7 @@ PowerTypeName(
 
 static FORCEINLINE const CHAR *
 PowerSystemStateName(
-    IN  SYSTEM_POWER_STATE State
+    _In_ SYSTEM_POWER_STATE State
     )
 {
 #define _POWER_SYSTEM_STATE_NAME(_State)    \
@@ -85,7 +85,7 @@ PowerSystemStateName(
 
 static FORCEINLINE const CHAR *
 PowerDeviceStateName(
-    IN  DEVICE_POWER_STATE State
+    _In_ DEVICE_POWER_STATE State
     )
 {
 #define _POWER_DEVICE_STATE_NAME(_State)    \
@@ -109,7 +109,7 @@ PowerDeviceStateName(
 
 static FORCEINLINE const CHAR *
 PowerActionName(
-    IN  POWER_ACTION    Type
+    _In_ POWER_ACTION   Type
     )
 {
 #define _POWER_ACTION_NAME(_Type)   \
@@ -135,7 +135,7 @@ PowerActionName(
 
 static FORCEINLINE const CHAR *
 PowerMinorFunctionName(
-    IN  ULONG   MinorFunction
+    _In_ ULONG  MinorFunction
     )
 {
 #define _POWER_MINOR_FUNCTION_NAME(_Function)   \
@@ -157,7 +157,7 @@ PowerMinorFunctionName(
 
 static FORCEINLINE const CHAR *
 PnpDeviceStateName(
-    IN  DEVICE_PNP_STATE    State
+    _In_ DEVICE_PNP_STATE   State
     )
 {
 #define _PNP_DEVICE_STATE_NAME(_State) \
@@ -184,7 +184,7 @@ PnpDeviceStateName(
 
 static FORCEINLINE const CHAR *
 PnpMinorFunctionName(
-    IN  ULONG   Function
+    _In_ ULONG  Function
     )
 {
 #define _PNP_MINOR_FUNCTION_NAME(_Function) \
@@ -227,7 +227,7 @@ PnpMinorFunctionName(
 
 static FORCEINLINE const CHAR *
 PartialResourceDescriptorTypeName(
-    IN  UCHAR   Type
+    _In_ UCHAR  Type
     )
 {
 #define _PARTIAL_RESOURCE_DESCRIPTOR_TYPE_NAME(_Type)   \
@@ -256,7 +256,7 @@ PartialResourceDescriptorTypeName(
 
 static FORCEINLINE const CHAR *
 DeviceUsageTypeName(
-    IN  DEVICE_USAGE_NOTIFICATION_TYPE  Type
+    _In_ DEVICE_USAGE_NOTIFICATION_TYPE Type
     )
 {
 #define _DEVICE_USAGE_TYPE_NAME(_Type)  \
diff --git a/src/xenhid/string.c b/src/xenhid/string.c
index e0e22a7..b75e249 100644
--- a/src/xenhid/string.c
+++ b/src/xenhid/string.c
@@ -40,8 +40,8 @@
 
 static FORCEINLINE NTSTATUS
 __StringPut(
-    IN  PSTRING String,
-    IN  CHAR    Character
+    _In_ PSTRING    String,
+    _In_ CHAR       Character
     )
 {
     if (String->Length >= String->MaximumLength - 1)
@@ -53,10 +53,10 @@ __StringPut(
 
 static PCHAR
 FormatNumber(
-    IN  PCHAR       Buffer,
-    IN  ULONGLONG   Value,
-    IN  UCHAR       Base,
-    IN  BOOLEAN     UpperCase
+    _In_ PCHAR      Buffer,
+    _In_ ULONGLONG  Value,
+    _In_ UCHAR      Base,
+    _In_ BOOLEAN    UpperCase
     )
 {
     ULONGLONG       Next = Value / Base;
@@ -113,9 +113,9 @@ FormatNumber(
 
 static NTSTATUS
 StringWriteBuffer(
-    IN  PSTRING         String,
-    IN  const CHAR      *Format,
-    IN  va_list         Arguments
+    _In_ PSTRING        String,
+    _In_ const CHAR     *Format,
+    _In_ va_list        Arguments
     )
 {
     CHAR                Character;
@@ -419,9 +419,9 @@ done:
 
 NTSTATUS
 StringVPrintf(
-    IN  PSTRING     String,
-    IN  const CHAR  *Format,
-    IN  va_list     Arguments
+    _In_ PSTRING    String,
+    _In_ const CHAR *Format,
+    _In_ va_list    Arguments
     )
 {
     NTSTATUS        status;
@@ -452,8 +452,8 @@ fail1:
 
 NTSTATUS
 StringPrintf(
-    IN  PSTRING     String,
-    IN  const CHAR  *Format,
+    _In_ PSTRING    String,
+    _In_ const CHAR *Format,
     ...
     )
 {
diff --git a/src/xenhid/string.h b/src/xenhid/string.h
index 6276fd9..9c6f008 100644
--- a/src/xenhid/string.h
+++ b/src/xenhid/string.h
@@ -37,15 +37,15 @@
 
 extern NTSTATUS
 StringVPrintf(
-    IN  PSTRING     String,
-    IN  const CHAR  *Format,
-    IN  va_list     Arguments
+    _In_ PSTRING    String,
+    _In_ const CHAR *Format,
+    _In_ va_list    Arguments
     );
 
 extern NTSTATUS
 StringPrintf(
-    IN  PSTRING     String,
-    IN  const CHAR  *Format,
+    _In_ PSTRING    String,
+    _In_ const CHAR *Format,
     ...
     );
 
diff --git a/src/xenhid/thread.c b/src/xenhid/thread.c
index 43266be..36d82d0 100644
--- a/src/xenhid/thread.c
+++ b/src/xenhid/thread.c
@@ -50,7 +50,7 @@ struct _XENHID_THREAD {
 
 static FORCEINLINE PVOID
 __ThreadAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, THREAD_POOL);
@@ -58,7 +58,7 @@ __ThreadAllocate(
 
 static FORCEINLINE VOID
 __ThreadFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, THREAD_POOL);
@@ -66,7 +66,7 @@ __ThreadFree(
 
 static FORCEINLINE VOID
 __ThreadWake(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     )
 {
     KeSetEvent(&Thread->Event, IO_NO_INCREMENT, FALSE);
@@ -74,7 +74,7 @@ __ThreadWake(
 
 VOID
 ThreadWake(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     )
 {
     __ThreadWake(Thread);
@@ -82,7 +82,7 @@ ThreadWake(
 
 static FORCEINLINE VOID
 __ThreadAlert(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     )
 {
     Thread->Alerted = TRUE;
@@ -91,7 +91,7 @@ __ThreadAlert(
 
 VOID
 ThreadAlert(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     )
 {
     __ThreadAlert(Thread);
@@ -101,7 +101,7 @@ KSTART_ROUTINE  ThreadFunction;
 
 VOID
 ThreadFunction(
-    IN  PVOID       Argument
+    _In_ PVOID      Argument
     )
 {
     PXENHID_THREAD  Self = Argument;
@@ -116,12 +116,12 @@ ThreadFunction(
     // NOT REACHED
 }
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 NTSTATUS
 ThreadCreate(
-    IN  XENHID_THREAD_FUNCTION  Function,
-    IN  PVOID                   Context,
-    OUT PXENHID_THREAD          *Thread
+    _In_ XENHID_THREAD_FUNCTION Function,
+    _In_ PVOID                  Context,
+    _Outptr_ PXENHID_THREAD     *Thread
     )
 {
     HANDLE                      Handle;
@@ -191,7 +191,7 @@ fail1:
 
 PKEVENT
 ThreadGetEvent(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     )
 {
     return &Thread->Event;
@@ -199,7 +199,7 @@ ThreadGetEvent(
 
 BOOLEAN
 ThreadIsAlerted(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     )
 {
     return Thread->Alerted;
@@ -207,7 +207,7 @@ ThreadIsAlerted(
 
 VOID
 ThreadJoin(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     )
 {
     LONG                References;
diff --git a/src/xenhid/thread.h b/src/xenhid/thread.h
index 5373c34..adb9a62 100644
--- a/src/xenhid/thread.h
+++ b/src/xenhid/thread.h
@@ -39,37 +39,37 @@ typedef struct _XENHID_THREAD XENHID_THREAD, 
*PXENHID_THREAD;
 
 typedef NTSTATUS (*XENHID_THREAD_FUNCTION)(PXENHID_THREAD, PVOID);
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 extern NTSTATUS
 ThreadCreate(
-    IN  XENHID_THREAD_FUNCTION  Function,
-    IN  PVOID                   Context,
-    OUT PXENHID_THREAD          *Thread
+    _In_ XENHID_THREAD_FUNCTION Function,
+    _In_ PVOID                  Context,
+    _Outptr_ PXENHID_THREAD     *Thread
     );
 
 extern PKEVENT
 ThreadGetEvent(
-    IN  PXENHID_THREAD  Self
+    _In_ PXENHID_THREAD Self
     );
 
 extern BOOLEAN
 ThreadIsAlerted(
-    IN  PXENHID_THREAD  Self
+    _In_ PXENHID_THREAD Self
     );
 
 extern VOID
 ThreadWake(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     );
 
 extern VOID
 ThreadAlert(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     );
 
 extern VOID
 ThreadJoin(
-    IN  PXENHID_THREAD  Thread
+    _In_ PXENHID_THREAD Thread
     );
 
 #endif  // _XENHID_THREAD_H
diff --git a/src/xenhid/util.h b/src/xenhid/util.h
index 7d304da..0281490 100644
--- a/src/xenhid/util.h
+++ b/src/xenhid/util.h
@@ -43,7 +43,7 @@
 
 static FORCEINLINE LONG
 __ffs(
-    IN  unsigned long long  mask
+    _In_ unsigned long long mask
     )
 {
     unsigned char           *array = (unsigned char *)&mask;
@@ -82,14 +82,14 @@ __ffs(
 
 static FORCEINLINE VOID
 __CpuId(
-    IN  ULONG   Leaf,
-    OUT PULONG  EAX OPTIONAL,
-    OUT PULONG  EBX OPTIONAL,
-    OUT PULONG  ECX OPTIONAL,
-    OUT PULONG  EDX OPTIONAL
+    _In_ ULONG          Leaf,
+    _Out_opt_ PULONG    EAX,
+    _Out_opt_ PULONG    EBX,
+    _Out_opt_ PULONG    ECX,
+    _Out_opt_ PULONG    EDX
     )
 {
-    int         Value[4] = {0};
+    int                 Value[4] = {0};
 
     __cpuid(Value, Leaf);
 
@@ -108,8 +108,8 @@ __CpuId(
 
 static FORCEINLINE LONG
 __InterlockedAdd(
-    IN  LONG    *Value,
-    IN  LONG    Delta
+    _In_ LONG   *Value,
+    _In_ LONG   Delta
     )
 {
     LONG        New;
@@ -125,8 +125,8 @@ __InterlockedAdd(
 
 static FORCEINLINE LONG
 __InterlockedSubtract(
-    IN  LONG    *Value,
-    IN  LONG    Delta
+    _In_ LONG   *Value,
+    _In_ LONG   Delta
     )
 {
     LONG        New;
@@ -140,12 +140,12 @@ __InterlockedSubtract(
     return New;
 }
 
-__checkReturn
+_Check_return_
 static FORCEINLINE PVOID
 __AllocatePoolWithTag(
-    IN  POOL_TYPE   PoolType,
-    IN  SIZE_T      NumberOfBytes,
-    IN  ULONG       Tag
+    _In_ POOL_TYPE  PoolType,
+    _In_ SIZE_T     NumberOfBytes,
+    _In_ ULONG      Tag
     )
 {
     PUCHAR          Buffer;
@@ -171,8 +171,8 @@ __AllocatePoolWithTag(
 
 static FORCEINLINE VOID
 __FreePoolWithTag(
-    IN  PVOID   Buffer,
-    IN  ULONG   Tag
+    _In_ PVOID  Buffer,
+    _In_ ULONG  Tag
     )
 {
     ExFreePoolWithTag(Buffer, Tag);
@@ -180,7 +180,7 @@ __FreePoolWithTag(
 
 static FORCEINLINE PMDL
 __AllocatePages(
-    IN  ULONG           Count
+    _In_ ULONG          Count
     )
 {
     PHYSICAL_ADDRESS    LowAddress;
@@ -249,10 +249,10 @@ fail1:
 
 static FORCEINLINE VOID
 __FreePages(
-    IN PMDL    Mdl
+    _In_ PMDL   Mdl
     )
 {
-    PUCHAR     MdlMappedSystemVa;
+    PUCHAR      MdlMappedSystemVa;
 
     ASSERT(Mdl->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA);
     MdlMappedSystemVa = Mdl->MappedSystemVa;
@@ -267,9 +267,9 @@ __FreePages(
 
 static FORCEINLINE PCHAR
 __strtok_r(
-    IN      PCHAR   Buffer,
-    IN      PCHAR   Delimiter,
-    IN OUT  PCHAR   *Context
+    _In_ PCHAR      Buffer,
+    _In_ PCHAR      Delimiter,
+    _Inout_ PCHAR   *Context
     )
 {
     PCHAR           Token;
@@ -305,9 +305,9 @@ __strtok_r(
 
 static FORCEINLINE PWCHAR
 __wcstok_r(
-    IN      PWCHAR  Buffer,
-    IN      PWCHAR  Delimiter,
-    IN OUT  PWCHAR  *Context
+    _In_ PWCHAR     Buffer,
+    _In_ PWCHAR     Delimiter,
+    _Inout_ PWCHAR  *Context
     )
 {
     PWCHAR          Token;
@@ -343,7 +343,7 @@ __wcstok_r(
 
 static FORCEINLINE CHAR
 __toupper(
-    IN  CHAR    Character
+    _In_ CHAR   Character
     )
 {
     if (Character < 'a' || Character > 'z')
@@ -354,7 +354,7 @@ __toupper(
 
 static FORCEINLINE CHAR
 __tolower(
-    IN  CHAR    Character
+    _In_ CHAR   Character
     )
 {
     if (Character < 'A' || Character > 'Z')
-- 
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®.