Share via


IOCTL_POWER_SET Request Processing (Windows Embedded CE 6.0)

1/6/2010

Power Manager adjusts the power state of a device, using the IOCTL_POWER_SET device I/O control. Device driver developers should be aware of the following when implementing support for this I/O control:

  • Power Manager can request that the device go into any device power state, not just the ones the device claims to support in its IOCTL_POWER_CAPABILITIES handler.
  • If a device is requested to go into a power state that the device does not support, Power Manager sets the device power state to the next highest supported power level, where D0 (full power) is the highest level. For example, if the D4 state is requested and the device does not support D4, then D4 is mapped to D3. If D3 is not supported, then D3 is mapped to D2 and so on. All devices must at least support D0. For more information about the power states, see CEDEVICE_POWER_STATE. The Power Manager code is located in the public\common\oak\drivers\pm directory.
  • Power Manager can issue an IOCTL_POWER_SET that essentially puts the device into its already-current state. In this case, the device driver can return success and do nothing.
  • Power Manager is not required to set the power state of a device to its default value as specified in a system power state. For example, if the power state of a device falls into the range bounded by the system power state and application requirements, Power Manager can choose not to alter the power state.

See Also

Reference

IOCTL_POWER_SET
IOCTL_POWER_CAPABILITIES

Other Resources

Device Power Management Guidelines