Power Manager Routines

Kernel-mode drivers call the PoXxx routines to perform power management for the devices that they control. This section contains the reference pages for these routines. The PoXxx routines are declared in the Wdm.h header file.

For more information about power management, see Power Management for Windows Drivers.

In this section

TopicDescription

PoCallDriver

The PoCallDriver routine passes a power IRP to the next-lower driver in the device stack. (Windows Server 2003, Windows XP, and Windows 2000 only.)

PoClearPowerRequest

The PoClearPowerRequest routine decrements the count for the specified power request type.

PoCreatePowerRequest

The PoCreatePowerRequest routine creates a power request object.

PoDeletePowerRequest

The PoDeletePowerRequest routine deletes a power request object.

PoEndDeviceBusy

The PoEndDeviceBusy routine marks the end of a period of time in which the device is busy.

PoGetSystemWake

The PoGetSystemWake routine determines whether a specified IRP has been marked as waking the system from a sleeping state.

PoQueryWatchdogTime

The PoQueryWatchdogTime routine indicates whether the power manager has enabled a watchdog time-out counter for any power IRP that is currently assigned to the device stack.

PoRegisterDeviceForIdleDetection

The PoRegisterDeviceForIdleDetection routine enables or cancels idle detection and sets idle time-out values for a device.

PoRegisterPowerSettingCallback

The PoRegisterPowerSettingCallback routine registers a power-setting callback routine to receive notifications of changes in the specified power setting.

PoRegisterSystemState

The PoRegisterSystemState routine registers the system as busy due to certain activity.

PoRequestPowerIrp

The PoRequestPowerIrp routine allocates a power IRP and sends it to the top driver in the device stack for the specified device.

PoSetDeviceBusy

The PoSetDeviceBusy macro notifies the power manager that the device associated with IdlePointer is busy.

PoSetDeviceBusyEx

The PoSetDeviceBusyEx routine notifies the power manager that the device associated with the specified idle counter is busy.

PoSetPowerRequest

The PoSetPowerRequest routine increments the count for the specified power request type.

PoSetPowerState

The PoSetPowerState routine notifies the system of a change in the device power state for a device.

PoSetSystemState

Drivers call the PoSetSystemState routine to indicate that the system is active.

PoSetSystemWake

The PoSetSystemWake routine marks the specified IRP as one that contributed to waking the system from a sleep state.

PoStartDeviceBusy

The PoStartDeviceBusy routine marks the start of a period of time in which the device is busy.

PoStartNextPowerIrp

The PoStartNextPowerIrp routine signals the power manager that the driver is ready to handle the next power IRP. (Windows Server 2003, Windows XP, and Windows 2000 only.)

PoUnregisterPowerSettingCallback

The PoUnregisterPowerSettingCallback routine unregisters a power-setting callback routine that a driver previously registered by calling the PoRegisterPowerSettingCallback routine.

PoUnregisterSystemState

The PoUnregisterSystemState routine cancels a system state registration created by PoRegisterSystemState.

 

 

 

Send comments about this topic to Microsoft

Show: