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


структура BATTERY_QUERY_INFORMATION

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

Синтаксис

typedef struct _BATTERY_QUERY_INFORMATION {
  ULONG                           BatteryTag;
  BATTERY_QUERY_INFORMATION_LEVEL InformationLevel;
  LONG                            AtRate;
} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;

Члены

BatteryTag

Текущий тег батареи для батареи. Могут быть возвращены только сведения для батареи, соответствующие тегу. Если это значение не соответствует текущему тегу батареи, запрос IOCTL будет завершен с ERROR_FILE_NOT_FOUND. Это указывает вызывающей стороны, что батарея, связанная с тегом, больше существует. Вызывающий элемент может использовать операцию IOCTL_BATTERY_QUERY_TAG для определения тега только что установленного аккумулятора, если таковой существует. (Дополнительные сведения см. в разделе Теги батареи .)

Когда выполняется запрос сведений о запросе, это значение проверяется. Кроме того, если запрос выполняется при изменении этого значения, запрос прерывается с состоянием ERROR_FILE_NOT_FOUND.

InformationLevel

Уровень запрашиваемых сведений об батарее. Данные, возвращаемые IOCTL, зависят от этого значения. Этот элемент может быть одним из следующих значений.

Значение Значение
BatteryDeviceName
4
Строка Юникода, заканчивающаяся null, которая содержит имя батареи.
BatteryEstimatedTime
3
Значение ULONG, указывающее предполагаемое время работы батареи в секундах. Если скорость стока, указанная в элементе AtRateструктуры BATTERY_QUERY_INFORMATION , равна нулю, это вычисление основано на текущей скорости стока. Если значение AtRate не равно нулю, возвращаемое время является ожидаемым временем выполнения для заданной скорости. Если предполагаемое время неизвестно (например, батарея не разрядится, а параметр AtRate был равен нулю), возвращаемое значение будет BATTERY_UNKNOWN_TIME. Обратите внимание, что это значение не очень точно для некоторых аккумуляторных систем и может сильно различаться в зависимости от текущего энергопотребления, на которое может повлиять активность диска и другие факторы. Механизм уведомления об изменениях в этом значении отсутствует.
BatteryGranularityInformation
1
Массив BATTERY_REPORTING_SCALE структур, не более четырех записей.
BatteryInformation
0
Структура BATTERY_INFORMATION .
BatteryManufactureDate
5
Структура BATTERY_MANUFACTURE_DATE .
BatteryManufactureName
6
Строка Юникода, заканчивающаяся значением NULL, указывающая имя производителя батареи.
BatterySerialNumber
8
Строка Юникода, завершающаяся null, которая указывает серийный номер батареи.
BatteryTemperature
2
Значение ULONG, указывающее текущую температуру батареи в 10 градусах Кельвина.
BatteryUniqueID
7
Строка Юникода, завершающаяся null, которая однозначно идентифицирует аккумулятор. Это значение можно использовать для отслеживания конкретной батареи. В случае смарт-батарей этот идентификатор будет представлять собой объединение имени изготовителя, имени устройства, даты производства и печатного представления серийного номера.
Это значение не предназначено для отображения пользователю.

AtRate

Этот элемент используется только в том случае , если параметр InformationLevel имеет значение BatteryEstimatedTime.

Если этот элемент не является нулевым, это скорость стока, которая будет использоваться для вычисления времени, пока батарея не будет разряжена для batteryEstimatedTime отдельного аккумулятора. Он должен быть указан в мВт и должен быть отрицательным значением, чтобы представить частоту разрядки батареи.

Комментарии

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

Требования

Требование Значение
Минимальная версия клиента
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

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

BATTERY_INFORMATION

BATTERY_MANUFACTURE_DATE

BATTERY_REPORTING_SCALE

IOCTL_BATTERY_QUERY_INFORMATION

IOCTL_BATTERY_QUERY_TAG