Power Management
The power-management system in Windows 2000, Windows XP, and Windows Server
2003 is an integrated approach to powermanagement within the whole computer system
(for both hardware and software). This means that the computer system supporting power
management must include both hardware and software support for the following
functions:
Minimum time expenses for startup and shutdown. This means that the system
may stay in a hibernation state as long as necessary. It may "wake up" from this
mode very quickly (this doesn't require rebooting).
Efficient and economic power consumption, meaning an increase in the working
life of the hardware. Devices consume power only when they process a system
request or perform operations requested by the user. Devices that aren't in use
during a specified time period are switched to a "sleeping" state, and subsequently
"wake-up" as needed.
Silent operation.
Requirements for power-aware hardware and software are defined by the OnNow
initiative. Windows XP and Windows Server 2003 provide this support and both the PC
as a whole and each individual device consume the minimum amount of power (if the
hardware meets the OnNow requirements). Notice that powermanagement and PnP are
interrelated and depend on each other.
This approach provides the following advantages:
Intelligent behavior by the system. The operating system and applications work
together to operate the PC, delivering effective powermanagement in accordance
with your current needs. For example, applications won't inadvertently keep the
PC busy when they aren't necessary, they proactively participate in shutting down
the PC to conserve energy and reduce noise.
Improved robustness and reliability.
Higher level of integration.
By using the Power Options applet in the Control Panel, it is possible to decrease energy
consumption by any device installed in the system. However, this is only the case if you
have an ACPI-compliant computer system.
The Power Schemes Tab
To start the Power Options applet, proceed as follows:
1. From the Start menu, select Settings | Control Panel. Double-click Power
Management.
2. The Power Options Properties window will appear (Fig. 5.13
).
Figure 5.13: The Power Schemes tab of the Power Options Properties window
3. To reduce the power consumption of your computer devices - or of your entire
system - choose a power scheme, which is a collection of settings that manage the
power usage of your computer. You can select one of the existing power schemes
or create a user-defined power scheme. For example, depending on your hardware,
you can do the following:
Specify the conditions where the system will automatically turn off your
monitor and hard disks to save power.
Put the computer on standby if it is idle for a long period of time. While on
standby, your entire computer switches to a low power state, where devices
such as the monitor and hard disks turn off and your computer uses less
power. When you want to use the computer again, it comes out of standby
quickly, and your desktop is restored exactly as you left it. Standby is
particularly useful for conserving battery power in portable computers.
Put your computer in hibernation. The hibernate feature saves everything in
memory on disk, turns off your monitor and hard disk, and then turns off
your computer. When you restart your computer, your desktop is restored
exactly as you left it. It takes longer to bring your computer out of
hibernation than out of standby.
Table 5.2 lists the registry keys that you can modify using the Power Schemes tab of the
Power Management Properties windows.
Table 5.2: Registry Keys Modified Using the Power Schemes Tab Controls
Power Schemes option Registry key
Power schemes HKCU\Control
Panel\PowerCfg\CurrentPowerPolicy
Standby detection threshold values (for the
system, monitor, hard disk-System
hibernates, Turn off monitor, Turn off
hard disks fields, respectively)
Binary-encoded parameters
HKCU\Control Panel\
PowerCfg\PowerPolicies\n\Policies
Deleting the power scheme (the Delete
button)
Deletes the following key
HKCU\Control Panel\PowerCfg\
PowerPolicies\n\Policies
Decreases the following index counter:
HKLM\SOFTWARE\Microsoft\Windows\
CurrentVersion\Controls
Folder\PowerCfg\LastID
Adding new power scheme (the Save As
button)
Adds new subkey under the following key:
HKCU\Control Panel\PowerCfg\
PowerPolicies\n\Policies
Increases the following index counter:
HKLM\SOFTWARE\Microsoft\Windows
\CurrentVersion\Controls
Folder\PowerCfg\LastID
Generally, you need to turn off your monitor or hard disk for a short period of time to
conserve power. The most convenient mode for this is the standby mode, which puts your
entire system in a low-energy state.
The Hibernate Tab
Beside the standby mode, the Power Options applet allows you to put your system into
hibernation mode. As already mentioned, the hibernate feature saves everything in
memory on disk, turns off your monitor and hard disk, and then turns off your computer.
After rebooting the system, your desktop is restored exactly as you left it. It takes longer
to bring your computer out of hibernation than out of standby.
If you are planning to be away from your computer for any length of time, it is
recommended to put the system into hibernation. To activate hibernation support,
proceed as follows:
1. Open the Power Options Properties window and go to the Hibernate tab (Fig.
5.14). If your system doesn't support this option, the tab will be unavailable.
Figure 5.14: The Hibernate tab of the Power Options Properties window
2. Set the Enable hibernate support checkbox. Please note that when your
computer is set to hibernation, everything in the physical memory is saved to the
hard disk. Because of this, you need to have sufficient disk space on the hard disk
(the file storing memory dump will be as large as your RAM).
After hibernation support is activated, the What do you want the computer to do? list
in the Shut Down Windows dialog will contain a new option - Hibernate, which allows
you to put the computer into hibernation manually (Fig. 5.15
).
Figure 5.15: When you enable hibernation support, the Shut Down Windows window
will display a new option - Hibernate, allowing you to put the system to hibernation
manually
The Advanced Tab
The Advanced tab of the Power Options Properties window (Fig. 5.16
) allows you to
do the following:
Figure 5.16: The Advanced tab of the Power Options Properties window
Enable and disable the power options indicator on the taskbar (Fig. 5.17). This
indicator is a small icon that provides quick access to the Power Options applet.
Figure 5.17: The taskbar indicator provides quick access to the Power Options
applet
Enable and disable password protection for the standby mode.
Registry keys that correspond to the parameters set using this tab are listed in Table 5.3
.
Table 5.3: Registry Keys Modified by Setting Parameters of the Advanced Tab
Advanced tab option Registry key
Always show icon on the taskbar checkbox HKCU\Control
Panel\PowerCfg
\GlobalPower
Table 5.3: Registry Keys Modified by Setting Parameters of the Advanced Tab
Advanced tab option Registry key
Policy\Policies
Display a prompt for a password when the computer
goes off standby checkbox
HKCU\Control
Panel\PowerCfg
\Global
PowerPolicy\Policies
The UPS Tab
If Uninterruptible Power Supply (UPS) is present in your system, it can also be managed
via Power Options. To configure and manage the UPS service, start the Power Options
applet in Control Panel, and go to the UPS tab (Fig. 5.18
). This tab displays the current
power status, details on your UPS equipment and the current status of the UPS service.
Figure 5.18: The UPS tab of the Power Options Properties window
Power Management Tools in Windows 2000, Windows XP, and Windows Server
2003
Having already discussed the power-management tools provided by Windows 2000,
Windows XP, and Windows Server 2003, let's now discuss the basic concepts that allow
these tools to be implemented.
The topics covered here include:
Power-management policies and power schemes
Parameters included in the power scheme
How power-management settings specified by the Power Options Control Panel
applet are stored in the registry
Power Schemes
Power management configuration in Windows 2000, Windows XP, and Windows Server
2003 is based on the concept of power schemes. A power scheme is a group of preset
power options that are passed to the Power Policy Manager component of the operating
system to control the machine's power-management behavior.
Each power scheme consists of a global power-policy structure and a power-policy
structure.
Global power-policy structures contain preset power options that are global across
all power schemes.
Non-global power-policy structures contain power options that are unique to a
particular power scheme.
These power-policy structures are further divided into machine structures and user
structures.
Values in machine structures are stored in the HKEY_LOCAL_MACHINE
registry key, and none of these values are exposed in the user interface. For
example, you can't set any of these values using the Power Options applet in the
Control Panel.
Values in user structures are stored in the HKEY_CURRENT_USER registry key
and some of these values are displayed in the user interface. Some of these
parameters can be set using the Power Options applet in Control Panel.
The data structures defining powermanagement policy are listed below:
GLOBAL_POWER_POLICY - used to manage global power policies. This
structure contains the data common to all power schemes. This structure is a
container for a GLOBAL_USER_POWER_POLICY structure and a
GLOBAL_MACHINE_POWER_POLICY structure, which contains elements that
are read from and written to the registry.
GLOBAL_MACHINE_POWER_POLICY - this structure is a part of the
GLOBAL_POWER_POLICY structure. It contains the data common to all power
schemes and users. The elements in this structure are read from and written to the
HKLM key in the registry.
GLOBAL_USER_POWER_POLICY - this structure is a part of the
GLOBAL_POWER_POLICY structure. It contains the data common to all power
schemes for the user. The elements in this structure are read from and written to
the HKCU key in the registry.
POWER_POLICY - used to manage non-global power policies. This structure
contains the data unique for all power schemes. This structure is a container for
the USER_POWER_POLICY and MACHINE_POWER_POLICY structures that
contain the elements to be read from and written to the registry. There is one
POWER_POLICY structure for each power scheme on a machine.
MACHINE_POWER_POLICY - this structure is a part of the POWER_POLICY
structure. It contains the data unique to each power scheme, but common to all
users. The elements in this structure are read from and written to the HKLM key in
the registry.
USER_POWER_POLICY - this structure is a part of the POWER_POLICY
structure. It contains the data unique to each user and power scheme. The elements
in this structure are read from and written to the HKCU key in the registry.
Registry Keys Intended for PowerManagement
In this section, we'll discuss the registry keys that are used for power management. You
may edit any of them using one of the registry editors.
N
ote Changing registry entries responsible for powermanagement won't have an
immediate effect. Windows only reads settings from the registry when you log on,
when you click OK in Control Panel, or when a Powerprof.dll function is called on
to read the registry.
The registry keys used for powermanagement are listed below.
HKCU\AppEvents\EventLabels\LowBatteryAlarm - descriptive name of a low
battery-power-alarm event
HKCU\AppEvents\EventLabels\CriticalBatteryAlarm - descriptive name of a
critical battery-power-alarm event
HKCU\AppEvents\Schemes\Apps\PowerCfg\LowBatteryAlarm\.Current,
HKCU\AppEvents\Schemes\Apps\PowerCfg\LowBatteryAlarm\.Default,
HKCU\AppEvents\Schemes\Apps\PowerCfg\CriticalBatteryAlarm\.Current,
HKCU\AppEvents\Schemes\Apps\PowerCfg\CriticalBatteryAlarm\.Default -
filenames of the WAV files that will play as a low and critical power-alarm events
HKCU\Control Panel\PowerCfg\CurrentPowerPolicy - index of current user and
machine power policy
HKCU\Control Panel\PowerCfg\GlobalPowerPolicy\Policies - the user global
power policy (binary encoded data)
HKCU\Control Panel\PowerCfg\PowerPolicies\n\Name - name of power scheme
n, where n = 0, 1, 2, etc.
HKCU\Control Panel\PowerCfg\PowerPolicies\n\Description - descriptive string
for power scheme n, where n = 0, 1, 2, etc.
HKCU\Control Panel\PowerCfg\PowerPolicies\n\Policies - user power policy n,
where n = 0, 1, 2, etc. (binary encoded data)
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls
Folder\PowerCfg\LastID - index of the last power policy in the lists of user and
machine power policies (for example, if there are six user power policies and six
machine power policies in the registry, the value of this key is 5)
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls
Folder\PowerCfg\DiskSpinDownMax - the maximum disk spin-down time that
Control Panel will allow the user to set
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls
Folder\PowerCfg\DiskSpinDownMin - the minimum disk spin-down time that
Control Panel will allow the user to set
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls
Folder\PowerCfg\GlobalPowerPolicy\Policies - the machine global power policy
(binary encoded data)
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls
Folder\PowerCfg\PowerPolicies\n\Policies - machine power policy n, where n = 0,
1, 2, etc. (binary encoded data)
. include:
Power- management policies and power schemes
Parameters included in the power scheme
How power- management settings specified by the Power Options.
Power Management
The power- management system in Windows 2000, Windows XP, and Windows Server
2003 is an integrated approach to power management