SYSTEM_POWER_STATUS Structure

Contains information about the power status of the system.

Syntax

C++
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

The AC power status. This member can be one of the following values.

ValueMeaning
0

Offline

1

Online

255

Unknown status

 

BatteryFlag

The battery charge status. This member can contain one or more of the following flags.

ValueMeaning
1

High—the battery capacity is at more than 66 percent

2

Low—the battery capacity is at less than 33 percent

4

Critical—the battery capacity is at less than five percent

8

Charging

128

No system battery

255

Unknown status—unable to read the battery flag information

 

The value is zero if the battery is not being charged and the battery capacity is between low and high.

BatteryLifePercent

The percentage of full battery charge remaining. This member can be a value in the range 0 to 100, or 255 if status is unknown.

Reserved1

Reserved; must be zero.

BatteryLifeTime

The number of seconds of battery life remaining, or –1 if remaining seconds are unknown.

BatteryFullLifeTime

The 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 BatteryFullLifeTime based on calculations on BatteryLifeTime and BatteryLifePercent. Without smart battery subsystems, this value may not be accurate enough to be useful.

Requirements

Minimum supported clientWindows 2000 Professional
Minimum supported serverWindows 2000 Server
HeaderWinbase.h (include Windows.h)

See Also

GetSystemPowerStatus
PBT_APMPOWERSTATUSCHANGE

Send comments about this topic to Microsoft

Build date: 11/19/2009

Tags :


Community Content

dmex
vb.net syntax
<StructLayout(LayoutKind.Sequential)> _
Public Structure SYSTEM_POWER_STATUS
Public ACLineStatus As Byte
Public BatteryFlag As Byte
Public BatteryLifePercent As Byte
Public Reserved1 As Byte
Public BatteryLifeTime As Integer
Public BatteryFullLifeTime As Integer
End Structure
Tags :

dmex
C# syntax
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEM_POWER_STATUS
{
public byte ACLineStatus;
public byte BatteryFlag;
public byte BatteryLifePercent;
public byte Reserved1;
public int BatteryLifeTime;
public int BatteryFullLifeTime;
}
Tags :

Page view tracker