Поделиться через


структура SYSTEM_POWER_STATUS (winbase.h)

Содержит сведения о состоянии питания системы.

Синтаксис

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

Члены

ACLineStatus

Состояние питания переменного тока. Этот элемент может иметь одно из следующих значений.

Значение Значение
0
Автономная миграция
1
Миграция по сети
255
Состояние "Неизвестно"

BatteryFlag

Состояние заряда батареи. Этот элемент может содержать один или несколько следующих флагов.

Значение Значение
1
Высокая — емкость аккумулятора составляет более 66 %
2
Низкий — емкость батареи составляет менее 33 процентов.
4
Критический — емкость батареи составляет менее пяти процентов
8
Зарядки
128
Без системного аккумулятора
255
Неизвестное состояние — не удается прочитать сведения о флаге батареи
 

Значение равно нулю, если аккумулятор не заряжается и емкость аккумулятора находится в диапазоне от низкого до высокого.

BatteryLifePercent

Процент оставшегося полного заряда батареи. Этот элемент может быть значением в диапазоне от 0 до 100 или 255, если состояние неизвестно.

SystemStatusFlag

Состояние экономии заряда. Чтобы участвовать в экономии энергии, избегайте ресурсоемких задач при включенном экономии заряда. Чтобы получать уведомления при изменении этого значения, вызовите функцию RegisterPowerSettingNotification с guid параметра питания, GUID_POWER_SAVING_STATUS.

Значение Значение
0
Экономия заряда отключена.
1
Экономия заряда включена. Экономия энергии там, где это возможно.
 
Примечание Этот флаг и GUID_POWER_SAVING_STATUS GUID появились в Windows 10. Этот флаг был ранее зарезервирован с именем Reserved1 и имел значение 0.
 
Общие сведения о экономии заряда см. в разделе Экономия заряда (в рекомендациях по аппаратным компонентам).

BatteryLifeTime

Оставшееся время работы батареи в секундах или –1, если оставшиеся секунды неизвестны или устройство подключено к сети переменного тока.

BatteryFullLifeTime

Количество секунд времени работы батареи при полной зарядке или –1, если полное время существования батареи неизвестно или если устройство подключено к сети переменного тока.

Комментарии

Система может только оценки BatteryFullLifeTime на основе вычислений BatteryLifeTime и BatteryLifePercent. Без интеллектуальных подсистем батареи это значение может быть недостаточно точным, чтобы быть полезным.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winbase.h (включая Windows.h)

См. также раздел

GetSystemPowerStatus

PBT_APMPOWERSTATUSCHANGE

экономия заряда (в рекомендациях по аппаратным компонентам)