System Power States (Windows Embedded CE 6.0)

1/6/2010

A system power state explicitly specifies the maximum device power state for all devices in the system. OEMs define these system power states, which are referred to by OEM-defined names such as On, SystemIdle, OnBattery, InCradle, OutOfCradle, and so on. There is no limit on how many system power states OEMs can define, and the names of the power states are not necessarily ordered in a linear manner.

You must define your system power state names as registry keys in the system configuration. OEMs are also responsible for creating explicit mappings between the predefined device power states and the system power states. You define these mappings in the registry also.

The following table describes some examples of Power Manager system power states.

System power state Description

BacklightOff

State after a short period of user inactivity. The backlight is off. Other hardware components could be turned off, as well.

On

Normal operating state when a user is interacting with the device.

Resuming

Initial state after the device wakes up from the Suspended state. This state has a fifteen-second timeout before it transitions to another state. The system must transition to another state, or it reverts to the Suspended state. There is no way to reset the timer.

ScreenOff

Backward-compatible state for applications that must turn off the screen through the display driver ExtEscape function. A typical case is Windows Media Player, which can turn off the screen through a user-defined key press.

Suspended

Sleep state. No threads are running. The CPU is idle. The system can wake up only by means of a hardware wake-source interrupt.

SystemIdle

In this system power state, the user is not using the system, even passively. However, the system is not suspended and system programs may be running. Devices that are not actively doing work may be turned off.

Unattended

State in which a program runs without the user's knowledge or the need for interaction with the user, such as the Always-Up-to-Date synchronization program. It has a reference count (UREF). Upon exiting such an application, the device goes directly to the Suspended state without waiting for the system idle timer.

UserIdle

State after a longer period of user inactivity. The screen is either in low-power mode or off (depending on the OEM configuration). Other hardware components could be turned off, as well.

The UserIdle state is intended for when the user is using the device, but not actively interacting with it; for example, when the user is looking at the display.

The SystemIdle state is intended for when system processes are active, but the user is not directly using the system and might consider the device to be idle; for example, during a file transfer.

The sample Power Manager implementation makes various decisions about user and system activity based on the UserActivity and SystemActivity timers. The time-outs for transitioning between these system power states is different when the system is on AC power from when the system is on battery power.

The sample run-time images that are provided with Windows Embedded CE are all AC-powered. OEMs can choose to implement a separate set of power states for use when the system is on battery power, in a cradle, and so on. Implement these customizations by copying the sample Power Manager platform device driver (PDD) to the platform directory, and then modifying the PDD appropriately.

See Also

Concepts

Power States
Mapping of System Power States to Device Power States
System Power State Transitions
Example System Power States