MACHINE_POWER_POLICY structure (powrprof.h)

Contains computer power policy settings that are unique to each power scheme on the computer. This structure is part of the POWER_POLICY structure.

Syntax

typedef struct _MACHINE_POWER_POLICY {
  ULONG               Revision;
  SYSTEM_POWER_STATE  MinSleepAc;
  SYSTEM_POWER_STATE  MinSleepDc;
  SYSTEM_POWER_STATE  ReducedLatencySleepAc;
  SYSTEM_POWER_STATE  ReducedLatencySleepDc;
  ULONG               DozeTimeoutAc;
  ULONG               DozeTimeoutDc;
  ULONG               DozeS4TimeoutAc;
  ULONG               DozeS4TimeoutDc;
  UCHAR               MinThrottleAc;
  UCHAR               MinThrottleDc;
  UCHAR               pad1[2];
  POWER_ACTION_POLICY OverThrottledAc;
  POWER_ACTION_POLICY OverThrottledDc;
} MACHINE_POWER_POLICY, *PMACHINE_POWER_POLICY;

Members

Revision

The current structure revision level. Set this value by calling GetCurrentPowerPolicies or ReadPwrScheme before using a MACHINE_POWER_POLICY structure to set power policy.

MinSleepAc

The minimum system power state (lowest Sx value) to enter on a system sleep action when running on AC power. This member must be one of the SYSTEM_POWER_STATE enumeration type values.

MinSleepDc

The minimum system power state (lowest Sx value) to enter on a system sleep action when running on battery power. This member must be one of the SYSTEM_POWER_STATE enumeration type values.

ReducedLatencySleepAc

The maximum system power state (highest Sx value) to enter on a system sleep action when running on AC power, and 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, ReducedLatencySleepAc is used in place of MaxSleepAc.

ReducedLatencySleepDc

The maximum system power state (highest Sx value) to enter on a system sleep action when running on battery power, and 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, ReducedLatencySleepAc is used in place of MaxSleepAc.

DozeTimeoutAc

This member is ignored.

DozeTimeoutDc

This member is ignored.

DozeS4TimeoutAc

Time to wait between entering the suspend state and entering the hibernate sleeping state when the system is running on AC power, in seconds. A value of zero indicates never hibernate.

DozeS4TimeoutDc

Time to wait between entering the suspend state and entering the hibernate sleeping state when the system is running on battery power, in seconds. A value of zero indicates never hibernate.

MinThrottleAc

The minimum throttle setting allowed before being overthrottled when the system is running on AC power. Thermal conditions would be the only reason for going below the minimum setting. When the processor is overthrottled, the system will initiate the OverThrottledAc policy. Note that the power policy manager has a hard-coded policy to initiate a CriticalShutdownOff whenever any thermal zone indicates a critical thermal condition. Range: 0-100.

MinThrottleDc

The minimum throttle setting allowed before being overthrottled when the system is running on battery power. Thermal conditions would be the only reason for going below the minimum setting. When the processor is overthrottled, the system will initiate the OverThrottledDc policy. Note that the power policy manager has a hard-coded policy to initiate a CriticalShutdownOff whenever any thermal zone indicates a critical thermal condition. Range: 0-100.

pad1[2]

Reserved.

OverThrottledAc

A POWER_ACTION_POLICY structure that defines the action to take when a processor has become overthrottled (as defined by the MinThrottleAc member) when the system is running on AC power.

OverThrottledDc

A POWER_ACTION_POLICY structure that defines the action to take when a processor has become overthrottled (as defined by the MinThrottleDc member) when the system is running on battery power.

Remarks

DozeS4TimeoutAc and DozeS4TimeoutDc correspond to the DozeS4Timeout member of SYSTEM_POWER_POLICY. These values are merged from the machine power policy to the system power policy when the SetActivePwrScheme function is called to apply a power scheme.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header powrprof.h

See also

POWER_ACTION_POLICY

POWER_POLICY