|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 07/11] xenvkbd: Annotate modified parameters as _Out_ or _Inout_
Some parameters were annotated _In_ although the function writes them.
Annotate them with their actual direction: context objects (FDO, PDO,
frontend, ring, thread, HID context) as _Inout_, copy destinations as
_Out_writes_bytes_opt_ and the key array as _Inout_updates_.
No functional change.
Assisted-by: claude:claude-opus-5.5
Signed-off-by: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
---
src/xenvkbd/fdo.c | 174 ++++++++++++++++++++---------------------
src/xenvkbd/fdo.h | 16 ++--
src/xenvkbd/frontend.c | 64 +++++++--------
src/xenvkbd/frontend.h | 10 +--
src/xenvkbd/hid.c | 12 +--
src/xenvkbd/hid.h | 2 +-
src/xenvkbd/pdo.c | 114 +++++++++++++--------------
src/xenvkbd/pdo.h | 12 +--
src/xenvkbd/ring.c | 80 +++++++++----------
src/xenvkbd/ring.h | 24 +++---
src/xenvkbd/thread.c | 10 +--
src/xenvkbd/thread.h | 6 +-
12 files changed, 262 insertions(+), 262 deletions(-)
diff --git a/src/xenvkbd/fdo.c b/src/xenvkbd/fdo.c
index 481336c..95ed60d 100644
--- a/src/xenvkbd/fdo.c
+++ b/src/xenvkbd/fdo.c
@@ -230,7 +230,7 @@ FdoGetPhysicalDeviceObject(
_IRQL_requires_(PASSIVE_LEVEL)
static FORCEINLINE NTSTATUS
__FdoAcquireLowerBusInterface(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
)
{
PBUS_INTERFACE_STANDARD BusInterface;
@@ -313,7 +313,7 @@ fail1:
static FORCEINLINE VOID
__FdoReleaseLowerBusInterface(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
)
{
PBUS_INTERFACE_STANDARD BusInterface;
@@ -619,13 +619,13 @@ FdoForwardIrpSynchronously(
NTSTATUS
FdoAddPhysicalDeviceObject(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PXENVKBD_PDO Pdo
)
{
- PDEVICE_OBJECT DeviceObject;
- PXENVKBD_DX Dx;
- NTSTATUS status;
+ PDEVICE_OBJECT DeviceObject;
+ PXENVKBD_DX Dx;
+ NTSTATUS status;
DeviceObject = PdoGetDeviceObject(Pdo);
Dx = (PXENVKBD_DX)DeviceObject->DeviceExtension;
@@ -653,12 +653,12 @@ fail1:
VOID
FdoRemovePhysicalDeviceObject(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PXENVKBD_PDO Pdo
)
{
- PDEVICE_OBJECT DeviceObject;
- PXENVKBD_DX Dx;
+ PDEVICE_OBJECT DeviceObject;
+ PXENVKBD_DX Dx;
DeviceObject = PdoGetDeviceObject(Pdo);
Dx = (PXENVKBD_DX)DeviceObject->DeviceExtension;
@@ -704,7 +704,7 @@ __FdoReleaseMutex(
VOID
FdoReleaseMutex(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
)
{
__FdoReleaseMutex(Fdo);
@@ -820,7 +820,7 @@ done:
static FORCEINLINE PANSI_STRING
__FdoMultiSzToUpcaseAnsi(
- _In_ PSTR Buffer
+ _Inout_ PZZSTR Buffer
)
{
PANSI_STRING Ansi;
@@ -898,14 +898,14 @@ __FdoFreeAnsi(
static NTSTATUS
FdoScan(
- _In_ PXENVKBD_THREAD Self,
- _In_ PVOID Context
+ _In_ PXENVKBD_THREAD Self,
+ _In_ PVOID Context
)
{
- PXENVKBD_FDO Fdo = Context;
- PKEVENT Event;
- HANDLE ParametersKey;
- NTSTATUS status;
+ PXENVKBD_FDO Fdo = Context;
+ PKEVENT Event;
+ HANDLE ParametersKey;
+ NTSTATUS status;
Trace("====>\n");
@@ -1023,7 +1023,7 @@ loop:
static DECLSPEC_NOINLINE VOID
FdoParseResources(
- _In_ PXENVKBD_FDO Fdo,
+ _Inout_ PXENVKBD_FDO Fdo,
_In_ PCM_RESOURCE_LIST RawResourceList,
_In_ PCM_RESOURCE_LIST TranslatedResourceList
)
@@ -1071,7 +1071,7 @@ FdoParseResources(
static FORCEINLINE BOOLEAN
__FdoMatchDistribution(
_In_ PXENVKBD_FDO Fdo,
- _In_ PSTR Buffer
+ _Inout_ PSTR Buffer
)
{
PCHAR Vendor;
@@ -1327,7 +1327,7 @@ fail1:
static FORCEINLINE VOID
__FdoD0ToD3(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
)
{
Trace("====>\n");
@@ -1367,13 +1367,13 @@ FdoSuspendCallbackLate(
// This function must not touch pageable code or data
static DECLSPEC_NOINLINE NTSTATUS
FdoD3ToD0(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
)
{
- POWER_STATE PowerState;
- KIRQL Irql;
- PLIST_ENTRY ListEntry;
- NTSTATUS status;
+ POWER_STATE PowerState;
+ KIRQL Irql;
+ PLIST_ENTRY ListEntry;
+ NTSTATUS status;
ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
ASSERT3U(__FdoGetDevicePowerState(Fdo), ==, PowerDeviceD3);
@@ -1460,12 +1460,12 @@ fail1:
// This function must not touch pageable code or data
static DECLSPEC_NOINLINE VOID
FdoD0ToD3(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
)
{
- POWER_STATE PowerState;
- PLIST_ENTRY ListEntry;
- KIRQL Irql;
+ POWER_STATE PowerState;
+ PLIST_ENTRY ListEntry;
+ KIRQL Irql;
ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
ASSERT3U(__FdoGetDevicePowerState(Fdo), ==, PowerDeviceD0);
@@ -1542,12 +1542,12 @@ FdoS3ToS4(
static DECLSPEC_NOINLINE NTSTATUS
FdoStartDevice(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ NTSTATUS status;
status = FdoForwardIrpSynchronously(Fdo, Irp);
if (!NT_SUCCESS(status))
@@ -1637,11 +1637,11 @@ FdoCancelStopDevice(
static DECLSPEC_NOINLINE NTSTATUS
FdoStopDevice(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- NTSTATUS status;
+ NTSTATUS status;
if (__FdoGetDevicePowerState(Fdo) == PowerDeviceD0)
FdoD0ToD3(Fdo);
@@ -1735,12 +1735,12 @@ FdoSurpriseRemoval(
static DECLSPEC_NOINLINE NTSTATUS
FdoRemoveDevice(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PLIST_ENTRY ListEntry;
- NTSTATUS status;
+ PLIST_ENTRY ListEntry;
+ NTSTATUS status;
ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -1817,16 +1817,16 @@ done:
static DECLSPEC_NOINLINE NTSTATUS
FdoQueryDeviceRelations(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- ULONG Size;
- PDEVICE_RELATIONS Relations;
- ULONG Count;
- PLIST_ENTRY ListEntry;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ ULONG Size;
+ PDEVICE_RELATIONS Relations;
+ ULONG Count;
+ PLIST_ENTRY ListEntry;
+ NTSTATUS status;
ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -1943,7 +1943,7 @@ fail1:
static DECLSPEC_NOINLINE NTSTATUS
FdoQueryCapabilities(
- _In_ PXENVKBD_FDO Fdo,
+ _Inout_ PXENVKBD_FDO Fdo,
_In_ PIRP Irp
)
{
@@ -1983,7 +1983,7 @@ fail1:
static DECLSPEC_NOINLINE NTSTATUS
FdoDeviceUsageNotification(
- _In_ PXENVKBD_FDO Fdo,
+ _Inout_ PXENVKBD_FDO Fdo,
_In_ PIRP Irp
)
{
@@ -2074,13 +2074,13 @@ done:
static DECLSPEC_NOINLINE NTSTATUS
FdoDispatchPnp(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- UCHAR MinorFunction;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ UCHAR MinorFunction;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
MinorFunction = StackLocation->MinorFunction;
@@ -2154,13 +2154,13 @@ FdoDispatchPnp(
static FORCEINLINE NTSTATUS
__FdoSetDevicePowerUp(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- DEVICE_POWER_STATE DeviceState;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ DEVICE_POWER_STATE DeviceState;
+ NTSTATUS status;
Trace("====>\n");
@@ -2192,13 +2192,13 @@ done:
static FORCEINLINE NTSTATUS
__FdoSetDevicePowerDown(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- DEVICE_POWER_STATE DeviceState;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ DEVICE_POWER_STATE DeviceState;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
DeviceState = StackLocation->Parameters.Power.State.DeviceState;
@@ -2223,14 +2223,14 @@ __FdoSetDevicePowerDown(
static FORCEINLINE NTSTATUS
__FdoSetDevicePower(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- DEVICE_POWER_STATE DeviceState;
- POWER_ACTION PowerAction;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ DEVICE_POWER_STATE DeviceState;
+ POWER_ACTION PowerAction;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
DeviceState = StackLocation->Parameters.Power.State.DeviceState;
@@ -2791,15 +2791,15 @@ FdoSystemPower(
static DECLSPEC_NOINLINE NTSTATUS
FdoDispatchPower(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- UCHAR MinorFunction;
- POWER_STATE_TYPE PowerType;
- POWER_ACTION PowerAction;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ UCHAR MinorFunction;
+ POWER_STATE_TYPE PowerType;
+ POWER_ACTION PowerAction;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
MinorFunction = StackLocation->MinorFunction;
@@ -2873,12 +2873,12 @@ FdoDispatchDefault(
NTSTATUS
FdoDispatch(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
@@ -3231,11 +3231,11 @@ fail1:
VOID
FdoDestroy(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
)
{
- PXENVKBD_DX Dx = Fdo->Dx;
- PDEVICE_OBJECT FunctionDeviceObject = Dx->DeviceObject;
+ PXENVKBD_DX Dx = Fdo->Dx;
+ PDEVICE_OBJECT FunctionDeviceObject = Dx->DeviceObject;
ASSERT(IsListEmpty(&Dx->ListEntry));
ASSERT3U(Fdo->References, ==, 0);
diff --git a/src/xenvkbd/fdo.h b/src/xenvkbd/fdo.h
index 29a935a..d23cef6 100644
--- a/src/xenvkbd/fdo.h
+++ b/src/xenvkbd/fdo.h
@@ -57,14 +57,14 @@ FdoGetName(
extern NTSTATUS
FdoAddPhysicalDeviceObject(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PXENVKBD_PDO Pdo
);
extern VOID
FdoRemovePhysicalDeviceObject(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PXENVKBD_PDO Pdo
);
extern VOID
@@ -74,7 +74,7 @@ FdoAcquireMutex(
extern VOID
FdoReleaseMutex(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
);
extern PDEVICE_OBJECT
@@ -124,8 +124,8 @@ FdoDelegateIrp(
extern NTSTATUS
FdoDispatch(
- _In_ PXENVKBD_FDO Fdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_FDO Fdo,
+ _In_ PIRP Irp
);
#define DECLARE_FDO_GET_INTERFACE(_Interface, _Type) \
@@ -150,7 +150,7 @@ FdoCreate(
extern VOID
FdoDestroy(
- _In_ PXENVKBD_FDO Fdo
+ _Inout_ PXENVKBD_FDO Fdo
);
#endif // _XENVKBD_FDO_H
diff --git a/src/xenvkbd/frontend.c b/src/xenvkbd/frontend.c
index 124fefc..1d9f8f8 100644
--- a/src/xenvkbd/frontend.c
+++ b/src/xenvkbd/frontend.c
@@ -285,13 +285,13 @@ loop:
VOID
FrontendEjectFailed(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
- KIRQL Irql;
- ULONG Length;
- PCHAR Path;
- NTSTATUS status;
+ KIRQL Irql;
+ ULONG Length;
+ PCHAR Path;
+ NTSTATUS status;
KeAcquireSpinLock(&Frontend->Lock, &Irql);
@@ -336,7 +336,7 @@ fail1:
static VOID
FrontendSetOnline(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
Trace("====>\n");
@@ -348,7 +348,7 @@ FrontendSetOnline(
static VOID
FrontendSetOffline(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
Trace("====>\n");
@@ -361,11 +361,11 @@ FrontendSetOffline(
static VOID
FrontendSetXenbusState(
- _In_ PXENVKBD_FRONTEND Frontend,
- _In_ XenbusState State
+ _Inout_ PXENVKBD_FRONTEND Frontend,
+ _In_ XenbusState State
)
{
- BOOLEAN Online;
+ BOOLEAN Online;
Trace("%s: ====> %s\n",
__FrontendGetPath(Frontend),
@@ -487,12 +487,12 @@ FrontendWaitForBackendXenbusStateChange(
static NTSTATUS
FrontendUpdatePath(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
- ULONG Length;
- PCHAR Buffer;
- NTSTATUS status;
+ ULONG Length;
+ PCHAR Buffer;
+ NTSTATUS status;
status = XENBUS_STORE(Read,
&Frontend->StoreInterface,
@@ -553,11 +553,11 @@ fail1:
static NTSTATUS
FrontendClose(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
- XenbusState State;
- NTSTATUS status;
+ XenbusState State;
+ NTSTATUS status;
Trace("=====>\n");
if (Frontend->Watch)
@@ -618,11 +618,11 @@ fail1:
static NTSTATUS
FrontendPrepare(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
- XenbusState State;
- NTSTATUS status;
+ XenbusState State;
+ NTSTATUS status;
Trace("=====>\n");
@@ -667,11 +667,11 @@ fail1:
static NTSTATUS
FrontendConnect(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
- XenbusState State;
- NTSTATUS status;
+ XenbusState State;
+ NTSTATUS status;
Trace("=====>\n");
@@ -790,7 +790,7 @@ FrontendDisable(
NTSTATUS
FrontendSetState(
- _In_ PXENVKBD_FRONTEND Frontend,
+ _Inout_ PXENVKBD_FRONTEND Frontend,
_In_ XENVKBD_FRONTEND_STATE State
)
{
@@ -938,7 +938,7 @@ FrontendSetState(
static FORCEINLINE VOID
__FrontendResume(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -949,7 +949,7 @@ __FrontendResume(
static FORCEINLINE VOID
__FrontendSuspend(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
ASSERT3U(KeGetCurrentIrql(), ==, DISPATCH_LEVEL);
@@ -980,11 +980,11 @@ FrontendSuspendCallbackLate(
NTSTATUS
FrontendResume(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
- KIRQL Irql;
- NTSTATUS status;
+ KIRQL Irql;
+ NTSTATUS status;
Trace("====>\n");
@@ -1056,10 +1056,10 @@ fail1:
VOID
FrontendSuspend(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
- KIRQL Irql;
+ KIRQL Irql;
Trace("====>\n");
@@ -1204,7 +1204,7 @@ fail1:
VOID
FrontendTeardown(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
)
{
Trace("====>\n");
diff --git a/src/xenvkbd/frontend.h b/src/xenvkbd/frontend.h
index e7b6902..0e1258a 100644
--- a/src/xenvkbd/frontend.h
+++ b/src/xenvkbd/frontend.h
@@ -65,28 +65,28 @@ FrontendInitialize(
extern VOID
FrontendTeardown(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
);
extern VOID
FrontendEjectFailed(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
);
extern NTSTATUS
FrontendSetState(
- _In_ PXENVKBD_FRONTEND Frontend,
+ _Inout_ PXENVKBD_FRONTEND Frontend,
_In_ XENVKBD_FRONTEND_STATE State
);
extern NTSTATUS
FrontendResume(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
);
extern VOID
FrontendSuspend(
- _In_ PXENVKBD_FRONTEND Frontend
+ _Inout_ PXENVKBD_FRONTEND Frontend
);
extern PXENVKBD_PDO
diff --git a/src/xenvkbd/hid.c b/src/xenvkbd/hid.c
index 4e90ac7..3e1bd53 100644
--- a/src/xenvkbd/hid.c
+++ b/src/xenvkbd/hid.c
@@ -65,11 +65,11 @@ struct _XENVKBD_HID_CONTEXT {
static FORCEINLINE NTSTATUS
HidCopyBuffer(
- _In_ PVOID Buffer,
- _In_ ULONG Length,
- _In_ const VOID *Source,
- _In_ ULONG SourceLength,
- _Out_ PULONG Returned
+ _Out_writes_bytes_opt_(Length) PVOID Buffer,
+ _In_ ULONG Length,
+ _In_ const VOID *Source,
+ _In_ ULONG SourceLength,
+ _Out_ PULONG Returned
)
{
if (Buffer == NULL)
@@ -656,7 +656,7 @@ HidGetInterface(
VOID
HidTeardown(
- _In_ PXENVKBD_HID_CONTEXT Context
+ _Inout_ PXENVKBD_HID_CONTEXT Context
)
{
Trace("====>\n");
diff --git a/src/xenvkbd/hid.h b/src/xenvkbd/hid.h
index 1364a66..f2b4089 100644
--- a/src/xenvkbd/hid.h
+++ b/src/xenvkbd/hid.h
@@ -58,7 +58,7 @@ HidGetInterface(
extern VOID
HidTeardown(
- _In_ PXENVKBD_HID_CONTEXT Context
+ _Inout_ PXENVKBD_HID_CONTEXT Context
);
// CALLBACKS
diff --git a/src/xenvkbd/pdo.c b/src/xenvkbd/pdo.c
index 5443119..ff2e0be 100644
--- a/src/xenvkbd/pdo.c
+++ b/src/xenvkbd/pdo.c
@@ -199,8 +199,8 @@ __PdoGetDevicePowerState(
static FORCEINLINE VOID
__PdoSetMissing(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PCSTR Reason
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PCSTR Reason
)
{
Pdo->Reason = Reason;
@@ -209,8 +209,8 @@ __PdoSetMissing(
VOID
PdoSetMissing(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PCSTR Reason
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PCSTR Reason
)
{
__PdoSetMissing(Pdo, Reason);
@@ -284,7 +284,7 @@ PdoGetName(
static FORCEINLINE BOOLEAN
__PdoSetEjectRequested(
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_PDO Pdo
)
{
return (InterlockedBitTestAndSet(&Pdo->Eject, 0) == 0) ? TRUE : FALSE;
@@ -292,12 +292,12 @@ __PdoSetEjectRequested(
VOID
PdoRequestEject(
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_PDO Pdo
)
{
- PXENVKBD_DX Dx = Pdo->Dx;
- PDEVICE_OBJECT PhysicalDeviceObject = Dx->DeviceObject;
- PXENVKBD_FDO Fdo = __PdoGetFdo(Pdo);
+ PXENVKBD_DX Dx = Pdo->Dx;
+ PDEVICE_OBJECT PhysicalDeviceObject = Dx->DeviceObject;
+ PXENVKBD_FDO Fdo = __PdoGetFdo(Pdo);
if (!__PdoSetEjectRequested(Pdo))
return;
@@ -312,7 +312,7 @@ PdoRequestEject(
static FORCEINLINE BOOLEAN
__PdoClearEjectRequested(
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_PDO Pdo
)
{
return (InterlockedBitTestAndReset(&Pdo->Eject, 0) != 0) ? TRUE : FALSE;
@@ -650,10 +650,10 @@ fail1:
// This function must not touch pageable code or data
static DECLSPEC_NOINLINE VOID
PdoD0ToD3(
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_PDO Pdo
)
{
- KIRQL Irql;
+ KIRQL Irql;
ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -767,11 +767,11 @@ PdoCancelStopDevice(
static DECLSPEC_NOINLINE NTSTATUS
PdoStopDevice(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- NTSTATUS status;
+ NTSTATUS status;
if (__PdoGetDevicePowerState(Pdo) != PowerDeviceD0)
goto done;
@@ -807,11 +807,11 @@ PdoQueryRemoveDevice(
static DECLSPEC_NOINLINE NTSTATUS
PdoCancelRemoveDevice(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- NTSTATUS status;
+ NTSTATUS status;
if (__PdoClearEjectRequested(Pdo))
FrontendEjectFailed(__PdoGetFrontend(Pdo));
@@ -846,13 +846,13 @@ PdoSurpriseRemoval(
static DECLSPEC_NOINLINE NTSTATUS
PdoRemoveDevice(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- PXENVKBD_FDO Fdo = __PdoGetFdo(Pdo);
- BOOLEAN NeedInvalidate;
- NTSTATUS status;
+ PXENVKBD_FDO Fdo = __PdoGetFdo(Pdo);
+ BOOLEAN NeedInvalidate;
+ NTSTATUS status;
if (__PdoGetDevicePowerState(Pdo) != PowerDeviceD0)
goto done;
@@ -1457,12 +1457,12 @@ PdoDeviceUsageNotification(
static DECLSPEC_NOINLINE NTSTATUS
PdoEject(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- PXENVKBD_FDO Fdo = __PdoGetFdo(Pdo);
- NTSTATUS status;
+ PXENVKBD_FDO Fdo = __PdoGetFdo(Pdo);
+ NTSTATUS status;
Trace("%s\n", __PdoGetName(Pdo));
@@ -1486,13 +1486,13 @@ PdoEject(
static DECLSPEC_NOINLINE NTSTATUS
PdoDispatchPnp(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- UCHAR MinorFunction;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ UCHAR MinorFunction;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
MinorFunction = StackLocation->MinorFunction;
@@ -1591,14 +1591,14 @@ PdoDispatchPnp(
static FORCEINLINE NTSTATUS
__PdoSetDevicePower(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- DEVICE_POWER_STATE DeviceState;
- POWER_ACTION PowerAction;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ DEVICE_POWER_STATE DeviceState;
+ POWER_ACTION PowerAction;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
DeviceState = StackLocation->Parameters.Power.State.DeviceState;
@@ -1779,14 +1779,14 @@ PdoSystemPower(
static DECLSPEC_NOINLINE NTSTATUS
PdoSetPower(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- POWER_STATE_TYPE PowerType;
- POWER_ACTION PowerAction;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ POWER_STATE_TYPE PowerType;
+ POWER_ACTION PowerAction;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
PowerType = StackLocation->Parameters.Power.Type;
@@ -1856,13 +1856,13 @@ PdoQueryPower(
static DECLSPEC_NOINLINE NTSTATUS
PdoDispatchPower(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- UCHAR MinorFunction;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ UCHAR MinorFunction;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
MinorFunction = StackLocation->MinorFunction;
@@ -1903,12 +1903,12 @@ PdoDispatchDefault(
NTSTATUS
PdoDispatch(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
)
{
- PIO_STACK_LOCATION StackLocation;
- NTSTATUS status;
+ PIO_STACK_LOCATION StackLocation;
+ NTSTATUS status;
StackLocation = IoGetCurrentIrpStackLocation(Irp);
@@ -2093,12 +2093,12 @@ fail1:
VOID
PdoDestroy(
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_PDO Pdo
)
{
- PXENVKBD_DX Dx = Pdo->Dx;
- PDEVICE_OBJECT PhysicalDeviceObject = Dx->DeviceObject;
- PXENVKBD_FDO Fdo = __PdoGetFdo(Pdo);
+ PXENVKBD_DX Dx = Pdo->Dx;
+ PDEVICE_OBJECT PhysicalDeviceObject = Dx->DeviceObject;
+ PXENVKBD_FDO Fdo = __PdoGetFdo(Pdo);
ASSERT3U(__PdoGetDevicePnpState(Pdo), ==, Deleted);
diff --git a/src/xenvkbd/pdo.h b/src/xenvkbd/pdo.h
index 1df1fc2..beb88bc 100644
--- a/src/xenvkbd/pdo.h
+++ b/src/xenvkbd/pdo.h
@@ -52,8 +52,8 @@ PdoGetDevicePnpState(
extern VOID
PdoSetMissing(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PCSTR Reason
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PCSTR Reason
);
extern BOOLEAN
@@ -63,7 +63,7 @@ PdoIsMissing(
extern VOID
PdoRequestEject(
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_PDO Pdo
);
extern BOOLEAN
@@ -138,7 +138,7 @@ PdoSuspend(
extern VOID
PdoDestroy(
- _In_ PXENVKBD_PDO Pdo
+ _Inout_ PXENVKBD_PDO Pdo
);
#include "frontend.h"
@@ -157,8 +157,8 @@ PdoGetHidContext(
extern NTSTATUS
PdoDispatch(
- _In_ PXENVKBD_PDO Pdo,
- _In_ PIRP Irp
+ _Inout_ PXENVKBD_PDO Pdo,
+ _In_ PIRP Irp
);
#endif // _XENVKBD_PDO_H
diff --git a/src/xenvkbd/ring.c b/src/xenvkbd/ring.c
index 70a069c..a4f5769 100644
--- a/src/xenvkbd/ring.c
+++ b/src/xenvkbd/ring.c
@@ -109,11 +109,11 @@ __RingFree(
static FORCEINLINE NTSTATUS
__RingCopyBuffer(
- _In_ PVOID Buffer,
- _In_ ULONG Length,
- _In_ const VOID *Source,
- _In_ ULONG SourceLength,
- _Out_ PULONG Returned
+ _Out_writes_bytes_opt_(Length) PVOID Buffer,
+ _In_ ULONG Length,
+ _In_ const VOID *Source,
+ _In_ ULONG SourceLength,
+ _Out_ PULONG Returned
)
{
if (Buffer == NULL)
@@ -148,13 +148,13 @@ SetBit(
static FORCEINLINE VOID
SetArray(
- _In_ PUCHAR Array,
- _In_ ULONG Size,
- _In_ UCHAR Value,
- _In_ BOOLEAN Pressed
+ _Inout_updates_(Size) PUCHAR Array,
+ _In_ ULONG Size,
+ _In_ UCHAR Value,
+ _In_ BOOLEAN Pressed
)
{
- ULONG Idx;
+ ULONG Idx;
if (Pressed) {
for (Idx = 0; Idx < Size; ++Idx) {
if (Array[Idx] == Value)
@@ -194,7 +194,7 @@ static struct _KEY_CODE_TO_USAGE KeyCodeToUsageTable[] = {
#undef DEFINE_USAGE
static VOID RingBuildKeyCodeToUsageMapping(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
ULONG Index;
@@ -240,10 +240,10 @@ __RingKeyCodeToUsage(
static FORCEINLINE VOID
__RingEventMotion(
- _In_ PXENVKBD_RING Ring,
- _In_ LONG dX,
- _In_ LONG dY,
- _In_ LONG dZ
+ _Inout_ PXENVKBD_RING Ring,
+ _In_ LONG dX,
+ _In_ LONG dY,
+ _In_ LONG dZ
)
{
Ring->AbsMouseReport.X = (USHORT)CONSTRAIN(Ring->AbsMouseReport.X + dX, 0,
32767);
@@ -257,9 +257,9 @@ __RingEventMotion(
static FORCEINLINE VOID
__RingEventKeypress(
- _In_ PXENVKBD_RING Ring,
- _In_ ULONG KeyCode,
- _In_ BOOLEAN Pressed
+ _Inout_ PXENVKBD_RING Ring,
+ _In_ ULONG KeyCode,
+ _In_ BOOLEAN Pressed
)
{
if (KeyCode >= 0x110 && KeyCode <= 0x114) {
@@ -304,10 +304,10 @@ __RingEventKeypress(
static FORCEINLINE VOID
__RingEventPosition(
- _In_ PXENVKBD_RING Ring,
- _In_ ULONG X,
- _In_ ULONG Y,
- _In_ LONG dZ
+ _Inout_ PXENVKBD_RING Ring,
+ _In_ ULONG X,
+ _In_ ULONG Y,
+ _In_ LONG dZ
)
{
Ring->AbsMouseReport.X = (USHORT)CONSTRAIN(X, 0, 32767);
@@ -535,11 +535,11 @@ fail1:
static FORCEINLINE VOID
RingReadFeatures(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
- PCHAR Buffer;
- NTSTATUS status;
+ PCHAR Buffer;
+ NTSTATUS status;
status = XENBUS_STORE(Read,
&Ring->StoreInterface,
@@ -576,12 +576,12 @@ RingReadFeatures(
NTSTATUS
RingConnect(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
- PFN_NUMBER Pfn;
- PXENVKBD_FRONTEND Frontend;
- NTSTATUS status;
+ PFN_NUMBER Pfn;
+ PXENVKBD_FRONTEND Frontend;
+ NTSTATUS status;
Trace("=====>\n");
Frontend = Ring->Frontend;
@@ -827,7 +827,7 @@ fail1:
NTSTATUS
RingEnable(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
Trace("=====>\n");
@@ -843,7 +843,7 @@ RingEnable(
VOID
RingDisable(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
Trace("=====>\n");
@@ -856,7 +856,7 @@ RingDisable(
VOID
RingDisconnect(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
Trace("=====>\n");
@@ -908,7 +908,7 @@ RingDisconnect(
VOID
RingTeardown(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
Trace("=====>\n");
@@ -950,7 +950,7 @@ RingTeardown(
VOID
RingNotify(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
if (KeInsertQueueDpc(&Ring->Dpc, NULL, NULL))
@@ -959,11 +959,11 @@ RingNotify(
NTSTATUS
RingGetInputReport(
- _In_ PXENVKBD_RING Ring,
- _In_ ULONG ReportId,
- _In_ PVOID Buffer,
- _In_ ULONG Length,
- _Out_ PULONG Returned
+ _In_ PXENVKBD_RING Ring,
+ _In_ ULONG ReportId,
+ _Out_writes_bytes_opt_(Length) PVOID Buffer,
+ _In_ ULONG Length,
+ _Out_ PULONG Returned
)
{
switch (ReportId) {
@@ -986,7 +986,7 @@ RingGetInputReport(
VOID
RingReadReport(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
)
{
// Check for pending reports, push 1 pending report to subscriber
diff --git a/src/xenvkbd/ring.h b/src/xenvkbd/ring.h
index 0ed1693..1781eb2 100644
--- a/src/xenvkbd/ring.h
+++ b/src/xenvkbd/ring.h
@@ -49,7 +49,7 @@ RingInitialize(
extern NTSTATUS
RingConnect(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
);
extern NTSTATUS
@@ -60,41 +60,41 @@ RingStoreWrite(
extern NTSTATUS
RingEnable(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
);
extern VOID
RingDisable(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
);
extern VOID
RingDisconnect(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
);
extern VOID
RingTeardown(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
);
extern VOID
RingNotify(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
);
extern NTSTATUS
RingGetInputReport(
- _In_ PXENVKBD_RING Ring,
- _In_ ULONG ReportId,
- _In_ PVOID Buffer,
- _In_ ULONG Length,
- _Out_ PULONG Returned
+ _In_ PXENVKBD_RING Ring,
+ _In_ ULONG ReportId,
+ _Out_writes_bytes_opt_(Length) PVOID Buffer,
+ _In_ ULONG Length,
+ _Out_ PULONG Returned
);
extern VOID
RingReadReport(
- _In_ PXENVKBD_RING Ring
+ _Inout_ PXENVKBD_RING Ring
);
#endif // _XENVKBD_RING_H
diff --git a/src/xenvkbd/thread.c b/src/xenvkbd/thread.c
index 5ff6392..68178d4 100644
--- a/src/xenvkbd/thread.c
+++ b/src/xenvkbd/thread.c
@@ -66,7 +66,7 @@ __ThreadFree(
static FORCEINLINE VOID
__ThreadWake(
- _In_ PXENVKBD_THREAD Thread
+ _Inout_ PXENVKBD_THREAD Thread
)
{
KeSetEvent(&Thread->Event, IO_NO_INCREMENT, FALSE);
@@ -74,7 +74,7 @@ __ThreadWake(
VOID
ThreadWake(
- _In_ PXENVKBD_THREAD Thread
+ _Inout_ PXENVKBD_THREAD Thread
)
{
__ThreadWake(Thread);
@@ -82,7 +82,7 @@ ThreadWake(
static FORCEINLINE VOID
__ThreadAlert(
- _In_ PXENVKBD_THREAD Thread
+ _Inout_ PXENVKBD_THREAD Thread
)
{
Thread->Alerted = TRUE;
@@ -91,7 +91,7 @@ __ThreadAlert(
VOID
ThreadAlert(
- _In_ PXENVKBD_THREAD Thread
+ _Inout_ PXENVKBD_THREAD Thread
)
{
__ThreadAlert(Thread);
@@ -205,7 +205,7 @@ ThreadIsAlerted(
VOID
ThreadJoin(
- _In_ PXENVKBD_THREAD Thread
+ _Inout_ PXENVKBD_THREAD Thread
)
{
LONG References;
diff --git a/src/xenvkbd/thread.h b/src/xenvkbd/thread.h
index 7f0514b..3d8fc27 100644
--- a/src/xenvkbd/thread.h
+++ b/src/xenvkbd/thread.h
@@ -59,17 +59,17 @@ ThreadIsAlerted(
extern VOID
ThreadWake(
- _In_ PXENVKBD_THREAD Thread
+ _Inout_ PXENVKBD_THREAD Thread
);
extern VOID
ThreadAlert(
- _In_ PXENVKBD_THREAD Thread
+ _Inout_ PXENVKBD_THREAD Thread
);
extern VOID
ThreadJoin(
- _In_ PXENVKBD_THREAD Thread
+ _Inout_ PXENVKBD_THREAD Thread
);
#endif // _XENVKBD_THREAD_H
--
2.55.0.windows.5
--
Césaire Mounah | Vates Windows Guest Tools Engineer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |