This issue tracks the implementation of the new EnergySaverStatus2 API in
the Windows App SDK
(Microsoft.Windows.System.Power), expanding the existing two-state
EnergySaverStatus (On/Off)
to a three-state model introduced in the Windows Germanium release (Windows11, 24H2 build).
Background
The existing PowerManager.EnergySaverStatus property reports only On or
Off. Energy Saver now has three distinct states:
- Off – Energy Saver is disabled
- Standard – Energy Saver active; mild performance impact acceptable
(battery > 20%)
- HighSavings – Energy Saver active; maximum power savings preferred
(battery ≤ 20%)
The legacy API has a known bug: when Energy Saver is in Standard mode, it
incorrectly reports
Off. EnergySaverStatus2 fixes this.
New APIs
All APIs are under Microsoft.Windows.System.Power, contract version
PowerNotificationsContract v3.
// New enum
public enum EnergySaverStatus2 { Unknown = 0, Off, Standard, HighSavings }
// New PowerManager members
public static EnergySaverStatus2 EnergySaverStatus2 { get; }
public static event System.EventHandler<object> EnergySaverStatus2Changed;
public static bool IsEnergySaverStatus2Supported();
Legacy Mapping
┌────────────────────┬───────────────────────────────────────────┐
│ EnergySaverStatus2 │ Legacy EnergySaverStatus │
├────────────────────┼───────────────────────────────────────────┤
│ Off │ Off │
├────────────────────┼───────────────────────────────────────────┤
│ Standard │ Off (not distinguishable in legacy API) │
├────────────────────┼───────────────────────────────────────────┤
│ HighSavings │ On │
└────────────────────┴───────────────────────────────────────────┘
This issue tracks the implementation of the new
EnergySaverStatus2API inthe Windows App SDK
(
Microsoft.Windows.System.Power), expanding the existing two-stateEnergySaverStatus(On/Off)to a three-state model introduced in the Windows Germanium release (Windows11, 24H2 build).
Background
The existing
PowerManager.EnergySaverStatusproperty reports onlyOnorOff. Energy Saver now has three distinct states:(battery > 20%)
(battery ≤ 20%)
The legacy API has a known bug: when Energy Saver is in Standard mode, it
incorrectly reports
Off.EnergySaverStatus2fixes this.New APIs
All APIs are under
Microsoft.Windows.System.Power, contract versionPowerNotificationsContract v3.