[StructLayout(LayoutKind.Sequential)]
internal class SYSTEM_POWER_STATUS_EX
{
public byte ACLineStatus = 0;
public byte BatteryFlag = 0;
public byte BatteryLifePercent = 0;
public byte Reserved1 = 0;
public uint BatteryLifeTime = 0;
public uint BatteryFullLifeTime = 0;
public byte Reserved2 = 0;
public byte BackupBatteryFlag = 0;
public byte BackupBatteryLifePercent = 0;
public byte Reserved3 = 0;
public uint BackupBatteryLifeTime = 0;
public uint BackupBatteryFullLifeTime = 0;
}
Structure SYSTEM_POWER_STATUS_EX
Public ACLineStatus As Byte
Public BatteryFlag As Byte
Public BatteryLifePercent As Byte
Public Reserved1 As Byte
Public BatteryLifeTime As Int32
Public BatteryFullLifeTime As Int32
Public Reserved2 As Byte
Public BatteryBackupFlag As Byte
Public BackupBatteryLifePercent As Byte
Public Reserved3 As Byte
Public BackupBatteryLifeTime As Int32
Public BackupBatteryFullLifeTime As Int32
End Structure
None.
AC power status. It is one of the following values.
Value | Description |
0 | Offline |
1 | Online |
2 | Backup |
255 | Unknown status |
All other values are reserved.
const byte AC_LINE_OFFLINE = 0x00;
const byte AC_LINE_ONLINE = 0x01;
const byte AC_LINE_BACKUP_POWER = 0x02;
const byte AC_LINE_UNKNOWN = 0xFF;
Battery charge status. It can be a combination of the following values:
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.
Reserved; set to zero.
Number of seconds of battery life remaining, or 0xFFFFFFFF if remaining seconds are unknown.
Number of seconds of battery life when at full charge, or 0xFFFFFFFF if full lifetime is unknown.
Reserved; set to zero.
Backup battery charge status. It can be a combination of the following values:
const byte BATTERY_FLAG_HIGH = 0x01;
const byte BATTERY_FLAG_LOW = 0x02;
const byte BATTERY_FLAG_CRITICAL = 0x04;
const byte BATTERY_FLAG_CHARGING = 0x08;
const byte BATTERY_FLAG_NO_BATTERY = 0x80;
const byte BATTERY_FLAG_UNKNOWN = 0xFF;
const byte BATTERY_PERCENTAGE_UNKNOWN = 0xFF;
const uint BATTERY_LIFE_UNKNOWN = 0xFFFFFFFF;
Percentage of full backup battery charge remaining. Must be in the range 0 to 100, or BATTERY_PERCENTAGE_UNKNOWN.
Reserved; set to zero
Number of seconds of backup battery life remaining, or BATTERY_LIFE_UNKNOWN if remaining seconds are unknown.
Number of seconds of backup battery life when at full charge, or BATTERY_LIFE_UNKNOWN if full lifetime is unknown.