* Sync up to trunk r55544.
[reactos.git] / include / xdk / pofuncs.h
index a713c89..7483576 100644 (file)
@@ -7,65 +7,73 @@ $if (_WDMDDK_)
 
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoCallDriver(
-  IN struct _DEVICE_OBJECT *DeviceObject,
-  IN OUT struct _IRP *Irp);
+  _In_ struct _DEVICE_OBJECT *DeviceObject,
+  _Inout_ __drv_aliasesMem struct _IRP *Irp);
 
+_IRQL_requires_max_(APC_LEVEL)
 NTKERNELAPI
 PULONG
 NTAPI
 PoRegisterDeviceForIdleDetection(
-  IN struct _DEVICE_OBJECT *DeviceObject,
-  IN ULONG ConservationIdleTime,
-  IN ULONG PerformanceIdleTime,
-  IN DEVICE_POWER_STATE State);
+  _In_ struct _DEVICE_OBJECT *DeviceObject,
+  _In_ ULONG ConservationIdleTime,
+  _In_ ULONG PerformanceIdleTime,
+  _In_ DEVICE_POWER_STATE State);
 
+_IRQL_requires_max_(APC_LEVEL)
 NTKERNELAPI
 PVOID
 NTAPI
 PoRegisterSystemState(
-  IN OUT PVOID StateHandle OPTIONAL,
-  IN EXECUTION_STATE Flags);
+  _Inout_opt_ PVOID StateHandle,
+  _In_ EXECUTION_STATE Flags);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoRequestPowerIrp(
-  IN struct _DEVICE_OBJECT *DeviceObject,
-  IN UCHAR MinorFunction,
-  IN POWER_STATE PowerState,
-  IN PREQUEST_POWER_COMPLETE CompletionFunction OPTIONAL,
-  IN PVOID Context OPTIONAL,
-  OUT struct _IRP **Irp OPTIONAL);
+  _In_ struct _DEVICE_OBJECT *DeviceObject,
+  _In_ UCHAR MinorFunction,
+  _In_ POWER_STATE PowerState,
+  _In_opt_ PREQUEST_POWER_COMPLETE CompletionFunction,
+  _In_opt_ __drv_aliasesMem PVOID Context,
+  _Outptr_opt_ struct _IRP **Irp);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 POWER_STATE
 NTAPI
 PoSetPowerState(
-  IN struct _DEVICE_OBJECT *DeviceObject,
-  IN POWER_STATE_TYPE Type,
-  IN POWER_STATE State);
+  _In_ struct _DEVICE_OBJECT *DeviceObject,
+  _In_ POWER_STATE_TYPE Type,
+  _In_ POWER_STATE State);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 VOID
 NTAPI
 PoSetSystemState(
-  IN EXECUTION_STATE Flags);
+  _In_ EXECUTION_STATE Flags);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 VOID
 NTAPI
 PoStartNextPowerIrp(
-  IN OUT struct _IRP *Irp);
+  _Inout_ struct _IRP *Irp);
 
+_IRQL_requires_max_(APC_LEVEL)
 NTKERNELAPI
 VOID
 NTAPI
 PoUnregisterSystemState(
-  IN OUT PVOID StateHandle);
+  _Inout_ PVOID StateHandle);
 
 NTKERNELAPI
 NTSTATUS
@@ -78,43 +86,48 @@ $endif (_WDMDDK_)
 
 $if (_NTIFS_)
 #if (NTDDI_VERSION >= NTDDI_WINXP)
+_IRQL_requires_max_(APC_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoQueueShutdownWorkItem(
-  IN OUT PWORK_QUEUE_ITEM WorkItem);
+  _Inout_ __drv_aliasesMem PWORK_QUEUE_ITEM WorkItem);
 #endif
 $endif (_NTIFS_)
 $if (_WDMDDK_)
 #if (NTDDI_VERSION >= NTDDI_VISTA)
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 VOID
 NTAPI
 PoSetSystemWake(
-  IN OUT struct _IRP *Irp);
+  _Inout_ struct _IRP *Irp);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 BOOLEAN
 NTAPI
 PoGetSystemWake(
-  IN struct _IRP *Irp);
+  _In_ struct _IRP *Irp);
 
+_IRQL_requires_max_(APC_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoRegisterPowerSettingCallback(
-  IN PDEVICE_OBJECT DeviceObject OPTIONAL,
-  IN LPCGUID SettingGuid,
-  IN PPOWER_SETTING_CALLBACK Callback,
-  IN PVOID Context OPTIONAL,
-  OUT PVOID *Handle OPTIONAL);
+  _In_opt_ PDEVICE_OBJECT DeviceObject,
+  _In_ LPCGUID SettingGuid,
+  _In_ PPOWER_SETTING_CALLBACK Callback,
+  _In_opt_ PVOID Context,
+  _Outptr_opt_ PVOID *Handle);
 
+_IRQL_requires_max_(APC_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoUnregisterPowerSettingCallback(
-  IN OUT PVOID Handle);
+  _Inout_ PVOID Handle);
 
 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
 
@@ -123,7 +136,7 @@ NTKERNELAPI
 VOID
 NTAPI
 PoSetDeviceBusyEx(
-  IN OUT PULONG IdlePointer);
+  _Inout_ PULONG IdlePointer);
 #endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
 
 #if (NTDDI_VERSION >= NTDDI_WIN7)
@@ -132,48 +145,53 @@ NTKERNELAPI
 VOID
 NTAPI
 PoStartDeviceBusy(
-  IN OUT PULONG IdlePointer);
+  _Inout_ PULONG IdlePointer);
 
 NTKERNELAPI
 VOID
 NTAPI
 PoEndDeviceBusy(
-  IN OUT PULONG IdlePointer);
+  _Inout_ PULONG IdlePointer);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 BOOLEAN
 NTAPI
 PoQueryWatchdogTime(
-  IN PDEVICE_OBJECT Pdo,
-  OUT PULONG SecondsRemaining);
+  _In_ PDEVICE_OBJECT Pdo,
+  _Out_ PULONG SecondsRemaining);
 
+_IRQL_requires_max_(APC_LEVEL)
 NTKERNELAPI
 VOID
 NTAPI
 PoDeletePowerRequest(
-  IN OUT PVOID PowerRequest);
+  _Inout_ PVOID PowerRequest);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoSetPowerRequest(
-  IN OUT PVOID PowerRequest,
-  IN POWER_REQUEST_TYPE Type);
+  _Inout_ PVOID PowerRequest,
+  _In_ POWER_REQUEST_TYPE Type);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoClearPowerRequest(
-  IN OUT PVOID PowerRequest,
-  IN POWER_REQUEST_TYPE Type);
+  _Inout_ PVOID PowerRequest,
+  _In_ POWER_REQUEST_TYPE Type);
 
+_IRQL_requires_max_(APC_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 PoCreatePowerRequest(
-  OUT PVOID *PowerRequest,
-  IN PDEVICE_OBJECT DeviceObject,
-  IN PCOUNTED_REASON_CONTEXT Context);
+  _Outptr_ PVOID *PowerRequest,
+  _In_ PDEVICE_OBJECT DeviceObject,
+  _In_opt_ PCOUNTED_REASON_CONTEXT Context);
 
 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */