функция обратного вызова BCLASS_QUERY_STATUS_CALLBACK (batclass.h)
BatteryMiniQueryStatus возвращает сведения о состоянии данного устройства батареи.
Синтаксис
BCLASS_QUERY_STATUS_CALLBACK BclassQueryStatusCallback;
NTSTATUS BclassQueryStatusCallback(
[in] PVOID Context,
[in] ULONG BatteryTag,
[out] PBATTERY_STATUS BatteryStatus
)
{...}
Параметры
[in] Context
Указатель на область контекста, выделенную драйвером мини-класса для устройства батареи.
[in] BatteryTag
Значение тега батареи, ранее возвращенное BatteryMiniQueryTag.
[out] BatteryStatus
Указатель на BATTERY_STATUS структуру, в которой драйвер мини-класса возвращает сведения.
Возвращаемое значение
BatteryMiniQueryStatus возвращает одно из следующих элементов:
Код возврата | Описание |
---|---|
|
Батарея, назначенная BatteryTag, в настоящее время установлена. |
|
Батарея, назначенная BatteryTag, отсутствует. |
Комментарии
Драйвер класса батареи вызывает BatteryMiniQueryStatus , чтобы получить сведения о состоянии батареи. Сведения о состоянии включают состояние питания батареи, емкость, напряжение и объем текущего потока во время запроса.
Если драйвер мини-класса не предоставляет полностью функциональные процедуры BatteryMiniSetStatusNotify и BatteryMiniDisableStatusNotify , драйвер класса батареи вызывает BatteryMiniQueryStatus через регулярные, но редкие интервалы для опроса состояния батареи. В противном случае драйвер класса вызывает эту подпрограмму после того, как драйвер мини-класса уведомит его об изменении состояния батареи.
Прежде чем сообщать о критически низком заряде аккумулятора (BATTERY_DISCHARGING и BATTERY_CRITICAL), драйвер мини-класса должен убедиться, что проблема является законной (а не временной), и если да, то попытаться решить проблему. Возможные решения могут включать в себя переключение на питание переменного тока или другой аккумулятор. Когда драйвер мини-класса сообщает, что батарея критически важна и разрядка, система предполагает, что сбой батареи неизбежен, и готовится к отключению.
Требования
Целевая платформа | Персональный компьютер |
Верхняя часть | batclass.h (включая Batclass.h) |
IRQL | PASSIVE_LEVEL |