SYSTEM_POWER_POLICY structure (winnt.h)

Contains information about the current system power policy.

Syntax

typedef struct _SYSTEM_POWER_POLICY {
  DWORD               Revision;
  POWER_ACTION_POLICY PowerButton;
  POWER_ACTION_POLICY SleepButton;
  POWER_ACTION_POLICY LidClose;
  SYSTEM_POWER_STATE  LidOpenWake;
  DWORD               Reserved;
  POWER_ACTION_POLICY Idle;
  DWORD               IdleTimeout;
  BYTE                IdleSensitivity;
  BYTE                DynamicThrottle;
  BYTE                Spare2[2];
  SYSTEM_POWER_STATE  MinSleep;
  SYSTEM_POWER_STATE  MaxSleep;
  SYSTEM_POWER_STATE  ReducedLatencySleep;
  DWORD               WinLogonFlags;
  DWORD               Spare3;
  DWORD               DozeS4Timeout;
  DWORD               BroadcastCapacityResolution;
  SYSTEM_POWER_LEVEL  DischargePolicy[NUM_DISCHARGE_POLICIES];
  DWORD               VideoTimeout;
  BOOLEAN             VideoDimDisplay;
  DWORD               VideoReserved[3];
  DWORD               SpindownTimeout;
  BOOLEAN             OptimizeForPower;
  BYTE                FanThrottleTolerance;
  BYTE                ForcedThrottle;
  BYTE                MinThrottle;
  POWER_ACTION_POLICY OverThrottled;
} SYSTEM_POWER_POLICY, *PSYSTEM_POWER_POLICY;

Members

Revision

The current structure revision.

PowerButton

A POWER_ACTION_POLICY structure that defines the system power action to initiate when the system power button is pressed.

SleepButton

A POWER_ACTION_POLICY structure that defines the system power action to initiate when the system sleep button is pressed.

LidClose

A POWER_ACTION_POLICY structure that defines the system power action to initiate when the system lid switch is closed.

LidOpenWake

The maximum power state (highest Sx value) from which a lid-open event should wake the system. This member must be one of the SYSTEM_POWER_STATE enumeration type values.

Reserved

Reserved.

Idle

A POWER_ACTION_POLICY structure that defines the system power action to initiate when the system idle timer expires.

IdleTimeout

The time that the level of system activity must remain below the idle detection threshold before the system idle timer expires, in seconds.

IdleSensitivity

The level of system activity that defines the threshold for idle detection, expressed as a percentage.

DynamicThrottle

The current system processor dynamic throttling policy. This member must be one of the values described in Processor Performance Control Policy Constants.

Spare2[2]

Reserved.

MinSleep

The minimum system sleep state (lowest Sx value) currently supported. This member must be one of the SYSTEM_POWER_STATE enumeration type values.

MaxSleep

The maximum system sleep state (highest Sx value) currently supported. This member must be one of the SYSTEM_POWER_STATE enumeration type values.

ReducedLatencySleep

The system power state (Sx value) to enter on a system sleep action when there are outstanding latency requirements. This member must be one of the SYSTEM_POWER_STATE enumeration type values. If an application calls RequestWakeupLatency with LT_LOWEST_LATENCY, ReducedLatencySleep will be used in place of MaxSleep.

WinLogonFlags

This member can be zero or WINLOGON_LOCK_ON_SLEEP (0x00000001).

Spare3

Reserved.

DozeS4Timeout

The time to wait between entering the suspend state and entering the hibernate sleeping state, in seconds. A value of zero indicates never hibernate.

BroadcastCapacityResolution

The resolution of change in current battery capacity that should cause the system to be notified of a system power state changed event.

DischargePolicy[NUM_DISCHARGE_POLICIES]

An array of SYSTEM_POWER_LEVEL structures that defines the actions to take at system battery discharge events.

VideoTimeout

The time before the display is turned off, in seconds.

VideoDimDisplay

If this member is TRUE, the system includes support for display dimming.

VideoReserved[3]

Reserved.

SpindownTimeout

The time before power to fixed disk drives is turned off, in seconds.

OptimizeForPower

If this member is TRUE, the system will turn on cooling fans and run the processor at full speed when passive cooling is specified. This causes the operating system to be biased toward using the fan and running the processor at full speed.

FanThrottleTolerance

The lower limit that the processor may be throttled down to prior to turning on system fans in response to a thermal event, expressed as a percentage.

ForcedThrottle

The processor throttle level to be imposed by the system, expressed as a percentage.

MinThrottle

The minimum processor throttle level, expressed as a percentage.

OverThrottled

A POWER_ACTION_POLICY structure that defines the system power action to initiate in response to a thermal event when processor throttling is unable to adequately reduce the system temperature.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header winnt.h (include Windows.h)

See also

CallNtPowerInformation

POWER_ACTION_POLICY

SYSTEM_POWER_LEVEL