Power Manager Suspend Time-outs

The sample Power Manager implementation maintains a development workstation based on the system power source, user activity, and system activity. The sample Power Manager implements configurable time-outs for transitioning between OS power states. Because the Power Manager is designed to be customized by the OEM, the following description may not apply to all platforms. OEMs control how and when the Power Manager decides to change system power states.

The following list shows the registry values that control system power state transitions for the sample Power Manager:

  • ACUserIdle
  • ACSystemIdle
  • ACSuspend
  • BattUserIdle
  • BattSystemIdle
  • BattSuspend
  • BatteryPoll

These DWORD values are stored in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\Timeouts registry key. A value of 0 indicates that no time-out will occur. The sample implementation does not provide a method for bypassing OS power states; however, OEMs may choose to do so.

For the Power Manager to actively manage system power states, these settings need to be present in the registry. The actual decision to manage system power is based on the presence of ACUserIdle.

Note   To prevent conflicts between GWES and the Power Manager, you need to disable GWES power management as described previously. When the Power Manager is actively managing system power, it may restrict applications from entering arbitrary system power states.

You can reset the system state transition timers by creating a named auto-reset event called _T("PowerManager/ReloadActivityTimeouts") and calling SetEvent on the handle of that event. This informs the Power Manager to read transition timer settings again from the Timeouts registry key.

Registry Settings

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\Timeouts]
    "ACUserIdle"=dword:3c; in seconds
    "ACSystemIdle"=dword:12c; in seconds
    "ACSuspend"=dword:0; in seconds
    "BattUserIdle"=dword:3c; in seconds
    "BattSystemIdle"=dword:b4; in seconds
    "BattSuspend"=dword:12c; in seconds
    "BatteryPoll"=dword:1f4; battery polling interval, in milliseonds

See Also

Power Management

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.