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


структура BATTERY_INFORMATION

Содержит сведения об батарее. Эта структура возвращается кодом элемента управления IOCTL_BATTERY_QUERY_INFORMATION при запросе уровня сведений BatteryInformation.

Синтаксис

typedef struct _BATTERY_INFORMATION {
  ULONG Capabilities;
  UCHAR Technology;
  UCHAR Reserved[3];
  UCHAR Chemistry[4];
  ULONG DesignedCapacity;
  ULONG FullChargedCapacity;
  ULONG DefaultAlert1;
  ULONG DefaultAlert2;
  ULONG CriticalBias;
  ULONG CycleCount;
} BATTERY_INFORMATION, *PBATTERY_INFORMATION;

Члены

Capabilities

Возможности батареи. Этот элемент может быть одним или несколькими из следующих значений.

Значение Значение
BATTERY_CAPACITY_RELATIVE
0x40000000
Указывает, что сведения о емкости батареи и скорости являются относительными, а не в каких-либо конкретных единицах. Если этот бит не задан, единицы отчетности — милливатт-часы (мВтч) для емкости и милливатты (мВт) для скорости. Если этот бит задан, все ссылки на единицы в другой документации по аккумулятору можно игнорировать. Все сведения о тарифах передаются в единицах в час. Например, если полностью заряженная емкость указана как 100, скорость 200 означает, что батарея будет использовать всю свою емкость в течение получаса.
BATTERY_IS_SHORT_TERM
0x20000000
Указывает, что обычная операция выполняется для отказоустойчивой функции. Если этот бит не задан, то ожидается, что батарея будет использоваться во время обычного использования системы.
BATTERY_SET_CHARGE_SUPPORTED
0x00000001
Указывает, что это устройство батареи поддерживает запросы на получение сведений типа BatteryCharge.
BATTERY_SET_DISCHARGE_SUPPORTED
0x00000002
Указывает, что это устройство батареи поддерживает запросы сведений типа BatteryDischarge.
BATTERY_SYSTEM_BATTERY
0x80000000
Указывает, что батарея может обеспечить общее питание для запуска системы.

Технология

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

Значение Значение
0
Непереряжаемый аккумулятор, например, alkaline.
1
Перезаряжаемый аккумулятор, например свинцовая кислота.

Reserved

Зарезервировано.

Химии

Сокращенная строка символов, обозначающая химию батареи. Эта строка не обязательно завершается с нуля. Ниже приведен неполный список аббревиаций, которые могут быть возвращены, и связанных химиков.

Строка Юникода Значение
PbAc
Свинцовая кислота
ЛЕВ
Ион лития
Li-I
Ион лития
Nicd
Никель кадмий
Nimh
Никель металл hydride
NiZn
Никель цинка
ОЗУ
Перезаряжаемые Alkaline-Manganese

Другие химии могут появиться в будущем, и ваш код должен иметь возможность обрабатывать их.

DesignedCapacity

Теоретическая емкость батареи в мВт/ч, если не задано BATTERY_CAPACITY_RELATIVE. В этом случае единицы измерения не определены.

FullChargedCapacity

Текущая полностью заряженная емкость батареи в мВт/ч (или относительной). Сравните это значение с DesignedCapacity , чтобы оценить износ батареи.

DefaultAlert1

Предлагаемая производителем емкость в мВт/ч, при которой должно возникать оповещение о низком заряде батареи. Определения низкого уровня зависят от производителя. Как правило, состояние предупреждения будет возникать до низкого состояния, но не следует предполагать, что оно будет всегда. Чтобы снизить риск потери данных, это значение обычно используется в качестве параметра по умолчанию для критической сигнализации батареи.

DefaultAlert2

Предлагаемая производителем емкость в мВт/ч, при которой должно появляться предупреждение батареи. Определения предупреждений зависят от производителя. Как правило, состояние предупреждения будет возникать до низкого состояния, но не следует предполагать, что оно будет всегда. Чтобы снизить риск потери данных, это значение обычно используется в качестве параметра по умолчанию для оповещения о низком заряде батареи.

CriticalBias

Смещение от нуля в мВт-ч, которое применяется к отчетам об аккумуляторе. Некоторые батареи резервируют небольшой заряд, который смещается из значений емкости батареи, чтобы показать "0" в качестве критического уровня батареи. Критическое смещение аналогично установке датчика топлива для отображения "пустой", когда осталось несколько литров топлива.

CycleCount

Количество циклов зарядки и разрядки, которые пережил аккумулятор. Это позволяет определить износ батареи. Если батарея не поддерживает счетчик циклов, этот элемент равен нулю.

Комментарии

Как правило, состояние предупреждения возникает до низкого состояния, но не следует предполагать, что это произойдет. Можно опросить батарею и обнаружить, что ни уровень оповещения не произошел, а затем снова опросить батарею и найти его разряжен в той степени, в которой были достигнуты оба уровня. Это может означать, что опрос выполняется недостаточно часто. Это также может означать, что батарея не может удерживать заряд очень долго и разряжается быстрее, чем вы ожидали. Такой аккумулятор может быть близок к концу своего срока службы, или он может быть поврежден.

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Заголовок
Poclass.h;
Batclass.h в Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP

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

IOCTL_BATTERY_QUERY_INFORMATION