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


функция обратного вызова BCLASS_SET_INFORMATION_CALLBACK (batclass.h)

BatteryMiniSetInformation запрашивает, чтобы батарея вступила в состояние зарядки или разрядки, или задает критическое значение смещения для батареи.

Синтаксис

BCLASS_SET_INFORMATION_CALLBACK BclassSetInformationCallback;

NTSTATUS BclassSetInformationCallback(
  [in] PVOID Context,
  [in] ULONG BatteryTag,
  [in] BATTERY_SET_INFORMATION_LEVEL Level,
  [in] PVOID Buffer
)
{...}

Параметры

[in] Context

Указатель на область контекста, выделенную драйвером мини-класса для устройства батареи.

[in] BatteryTag

Значение тега батареи, ранее возвращенное BatteryMiniQueryTag.

[in] Level

Одно из следующих значений: BatteryCriticalBias, BatteryCharge или BatteryDischarge.

[in] Buffer

Критическая корректировка смещения в милливаттах, если Level имеет значение BatteryCriticalBias. Не используется для других значений Level.

Возвращаемое значение

BatteryMiniSetInformation возвращает одно из следующих элементов:

Код возврата Описание
STATUS_SUCCESS
Операция успешно выполнена.
STATUS_NO_SUCH_DEVICE
Аккумулятор отсутствует.
STATUS_NOT_SUPPORTED
Указанный аккумулятор не поддерживает запрошенную операцию.
STATUS_UNSUCCESSFUL
Операция не удалась.

Комментарии

Драйвер класса батареи вызывает BatteryMiniSetInformation , чтобы запросить, чтобы батарея начала заряжаться или разрядиться. Он также может вызвать эту подпрограмму, чтобы задать критическое значение смещения.

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

Драйвер класса указывает BatteryDischarge , чтобы указать, какой аккумулятор должен питать систему.

Корректировка критического смещения аналогична резервной емкости бензоколонка в автомобиле. Он представляет оставшийся заряд, если емкость батареи отображается как нулевая. Хотя драйвер класса не изменяет критическое значение смещения при обычном использовании, это поле предоставляется в интерфейсе в качестве функции обслуживания. Не все батареи могут поддерживать критическое значение смещения. Драйверы мини-класса для таких батарей должны возвращать STATUS_NOT_SUPPORTED.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть batclass.h (включая Batclass.h)
IRQL PASSIVE_LEVEL