mirror of
https://github.com/reactos/reactos.git
synced 2024-11-09 08:08:38 +00:00
5f2d67cb35
svn path=/branches/reactos-yarotows/; revision=47746
179 lines
3.1 KiB
C
179 lines
3.1 KiB
C
$if (_WDMDDK_)
|
|
/******************************************************************************
|
|
* Power Management Support Functions *
|
|
******************************************************************************/
|
|
|
|
#define PoSetDeviceBusy(IdlePointer) ((void)(*(IdlePointer) = 0))
|
|
|
|
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
|
|
|
NTKERNELAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
PoCallDriver(
|
|
IN struct _DEVICE_OBJECT *DeviceObject,
|
|
IN OUT struct _IRP *Irp);
|
|
|
|
NTKERNELAPI
|
|
PULONG
|
|
NTAPI
|
|
PoRegisterDeviceForIdleDetection(
|
|
IN struct _DEVICE_OBJECT *DeviceObject,
|
|
IN ULONG ConservationIdleTime,
|
|
IN ULONG PerformanceIdleTime,
|
|
IN DEVICE_POWER_STATE State);
|
|
|
|
NTKERNELAPI
|
|
PVOID
|
|
NTAPI
|
|
PoRegisterSystemState(
|
|
IN OUT PVOID StateHandle OPTIONAL,
|
|
IN EXECUTION_STATE Flags);
|
|
|
|
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);
|
|
|
|
NTKERNELAPI
|
|
POWER_STATE
|
|
NTAPI
|
|
PoSetPowerState(
|
|
IN struct _DEVICE_OBJECT *DeviceObject,
|
|
IN POWER_STATE_TYPE Type,
|
|
IN POWER_STATE State);
|
|
|
|
NTKERNELAPI
|
|
VOID
|
|
NTAPI
|
|
PoSetSystemState(
|
|
IN EXECUTION_STATE Flags);
|
|
|
|
NTKERNELAPI
|
|
VOID
|
|
NTAPI
|
|
PoStartNextPowerIrp(
|
|
IN OUT struct _IRP *Irp);
|
|
|
|
NTKERNELAPI
|
|
VOID
|
|
NTAPI
|
|
PoUnregisterSystemState(
|
|
IN OUT PVOID StateHandle);
|
|
|
|
NTKERNELAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
PoRequestShutdownEvent(
|
|
OUT PVOID *Event);
|
|
|
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
|
$endif (_WDMDDK_)
|
|
|
|
$if (_NTIFS_)
|
|
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
|
NTKERNELAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
PoQueueShutdownWorkItem(
|
|
IN OUT PWORK_QUEUE_ITEM WorkItem);
|
|
#endif
|
|
$endif (_NTIFS_)
|
|
$if (_WDMDDK_)
|
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
|
|
|
NTKERNELAPI
|
|
VOID
|
|
NTAPI
|
|
PoSetSystemWake(
|
|
IN OUT struct _IRP *Irp);
|
|
|
|
NTKERNELAPI
|
|
BOOLEAN
|
|
NTAPI
|
|
PoGetSystemWake(
|
|
IN struct _IRP *Irp);
|
|
|
|
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);
|
|
|
|
NTKERNELAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
PoUnregisterPowerSettingCallback(
|
|
IN OUT PVOID Handle);
|
|
|
|
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
|
|
|
#if (NTDDI_VERSION >= NTDDI_VISTASP1)
|
|
NTKERNELAPI
|
|
VOID
|
|
NTAPI
|
|
PoSetDeviceBusyEx(
|
|
IN OUT PULONG IdlePointer);
|
|
#endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
|
|
|
|
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
|
|
|
NTKERNELAPI
|
|
VOID
|
|
NTAPI
|
|
PoStartDeviceBusy(
|
|
IN OUT PULONG IdlePointer);
|
|
|
|
NTKERNELAPI
|
|
VOID
|
|
NTAPI
|
|
PoEndDeviceBusy(
|
|
IN OUT PULONG IdlePointer);
|
|
|
|
NTKERNELAPI
|
|
BOOLEAN
|
|
NTAPI
|
|
PoQueryWatchdogTime(
|
|
IN PDEVICE_OBJECT Pdo,
|
|
OUT PULONG SecondsRemaining);
|
|
|
|
NTKERNELAPI
|
|
VOID
|
|
NTAPI
|
|
PoDeletePowerRequest(
|
|
IN OUT PVOID PowerRequest);
|
|
|
|
NTKERNELAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
PoSetPowerRequest(
|
|
IN OUT PVOID PowerRequest,
|
|
IN POWER_REQUEST_TYPE Type);
|
|
|
|
NTKERNELAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
PoClearPowerRequest(
|
|
IN OUT PVOID PowerRequest,
|
|
IN POWER_REQUEST_TYPE Type);
|
|
|
|
NTKERNELAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
PoCreatePowerRequest(
|
|
OUT PVOID *PowerRequest,
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PCOUNTED_REASON_CONTEXT Context);
|
|
|
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
|
|