System Power States

OEMs define system power states. They are referred to by OEM-defined names such as On, SystemIdle, OnBattery, InCradle, OutOfCradle, and so on. These names are not predefined, and are not necessarily ordered in a linear way. You define system state names as registry keys in the system configuration. There is no limit on how many system power states you can define.

You are also responsible for creating explicit mappings between the predefined device power states and the system power states. These mappings are defined in the registry. A system power state explicitly specifies the maximum device power state for all devices in the system.

The sample Power Manager implementation defines On, UserIdle, SystemIdle and Suspend as the four system power states. When the user is actively using the system, the power state is set to On. If the user stops using the system, the power state is set to UserIdle. After a longer period of user inactivity it changes to the SystemIdle state. As long as device drivers are active, the system remains in this state. If device drivers become inactive the system changes to the Suspend state.

The UserIdle state is intended for use when the user is using the device but not actively interacting with it. For example, the user may be only looking at the display and not interacting with the system. The SystemIdle state is intended for use when the user is not directly using the system but processes are still active. For example, during a file transfer the user may consider the device to be idle, even if the system processes are actually still proceeding.

The sample Power Manager implementation makes various decisions on user and system activity based upon 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 it is only on battery power.

The sample platforms provided with Microsoft® Windows® CE .NET are all AC powered. You may choose to implement a separate set of power states for use when the system is on battery power, in a cradle, and so on. You can implement these customizations by copying the sample Power Manager PDD to the platform directory and modifying it appropriately.

See Also

System Power State to Device Power State Mapping | Example System Power States

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.