Previous Next

Device Power States

A device power state describes the power state of a particular device. Device power states are named Dx, where x is a state number between 0 and 3. The state number is inversely related to power consumption: higher numbered states use less power.

Device power states are defined in terms of the following criteria:

The exact definitions of the power states are device-specific. Not all devices define all the states; many devices define only the D0 and D3 states. See the Device Class Power Management Reference Specification to find out which device states are defined for a specific device and what the operational requirements are for each state. (The specification is available at the Windows Platform Development Web site.)

The power state of a device need not match the power state of the system. For example, some devices can be in the off (D3) state even though the system is in the working (S0) system power state. Usually, a device's power state is no higher than that of the system because many devices get their power from the system. Devices that are enabled to wake the system are exceptions, however; such devices are typically in a low-latency sleeping state (D1 or D2) when the system is in a sleeping state.

Note that some devices are capable of several different low power modes within a single device power state. Such a device can use these modes if its driver can automatically switch the device from one mode to another without changing the device power state. As a general rule, however, if there is no user-perceptible difference between the modes, the device should use only the lowest power mode. If a low power mode, such as a low speed, adversely affects performance or is not transparent to software other than the device driver, the hardware should not automatically use it. See the Device Class Power Management Reference Specifications for details.

A driver or the Power Manager can request a device power state transition, and all drivers must be prepared to handle IRPs that request such transitions. For details, see:

Sending IRP_MN_QUERY_POWER or IRP_MN_SET_POWER for Device Power States

Handling IRP_MN_QUERY_POWER for Device Power States

Handling IRP_MN_SET_POWER for Device Power States

Like the system, a device can transition from the working state (D0) to any sleeping state (D1-D3) and from any sleeping state to the working state.