Platform SDK: Hardware

SYSTEM_POWER_STATUS

The SYSTEM_POWER_STATUS structure contains information about the power status of the system.

typedef struct _SYSTEM_POWER_STATUS {
    BYTE ACLineStatus;           
    BYTE  BatteryFlag;           
    BYTE  BatteryLifePercent;    
    BYTE  Reserved1;             
    DWORD  BatteryLifeTime;      
    DWORD  BatteryFullLifeTime;  
} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;

Members

ACLineStatus
AC power status. This parameter can be one of the following values.
Value Meaning
0 Offline
1 Online
255 Unknown status

All other values are reserved.

BatteryFlag
Battery charge status. This parameter can be a combination of the following values.
Value Meaning
1 High
2 Low
4 Critical
8 Charging
128 No system battery
255 Unknown status

All other values are reserved.

BatteryLifePercent
Percentage of full battery charge remaining. This member can be a value in the range 0 to 100, or 255 if status is unknown. All other values are reserved.
Reserved1
Reserved; must be zero.
BatteryLifeTime
Number of seconds of battery life remaining, or –1 if remaining seconds are unknown.
BatteryFullLifeTime
Number of seconds of battery life when at full charge, or –1 if full battery lifetime is unknown.

Remarks

The system is only capable of estimating BatteryFullTime based on calculations on BatteryLifeTime and BatteryLifePercent. Without smart battery subsystems, this value may not be accurate enough to be useful.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Winbase.h; include Windows.h.

See Also

Power Management Overview, Power Management Structures