функция обратного вызова BCLASS_SET_STATUS_NOTIFY_CALLBACK (batclass.h)
BatteryMiniSetStatusNotify задает уровни емкости батареи и состояния питания, при которых драйверу класса требуется уведомление.
Синтаксис
BCLASS_SET_STATUS_NOTIFY_CALLBACK BclassSetStatusNotifyCallback;
NTSTATUS BclassSetStatusNotifyCallback(
[in] PVOID Context,
[in] ULONG BatteryTag,
[in] PBATTERY_NOTIFY BatteryNotify
)
{...}
Параметры
[in] Context
Указатель на область контекста, выделенную драйвером мини-класса для устройства батареи.
[in] BatteryTag
Значение тега батареи, ранее возвращенное BatteryMiniQueryTag.
[in] BatteryNotify
Указатель на структуру BATTERY_NOTIFY .
Возвращаемое значение
BatteryMiniSetStatusNotify возвращает одно из следующих элементов:
Код возврата | Описание |
---|---|
|
В настоящее время установлен аккумулятор. |
|
Аккумулятор отсутствует или указан недопустимый тег батареи. |
|
Драйвер мини-класса не может отличить целевое условие. |
Комментарии
Драйвер класса батареи вызывает подпрограмму BatteryMiniSetStatusNotify мини-класса драйвера, чтобы задать критерии для допустимого диапазона условий работы батареи. Если емкость или состояние питания аккумулятора отклоняется от этих критериев, драйвер мини-класса должен вызвать BatteryClassStatusNotify , чтобы уведомить драйвер класса.
В элементе PowerState структуры BATTERY_NOTIFY драйвер класса указывает одно или несколько состояний питания батареи. Каждый раз, когда батарея переходит в состояние питания, которое не находится в PowerState, драйвер мини-класса должен уведомить драйвер класса.
В элементах LowCapacity и HighCapacity BATTERY_NOTIFY драйвер класса задает диапазон емкости. Когда емкость падает выше или ниже этого диапазона, драйвер мини-класса должен уведомить драйвер класса.
Некоторые батареи могут быть не в состоянии определить точную емкость, запрашиваемую драйвером класса батареи. По возможности драйверы мини-класса для этих батарей должны попытаться исправить ошибку, чтобы пользователь был проинформирован о приближении батареи к критическому состоянию. В противном случае такие драйверы должны возвращать STATUS_NOT_SUPPORTED.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | batclass.h (включая Batclass.h) |
IRQL | PASSIVE_LEVEL |