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


Функция BatteryClassIoctl (batclass.h)

BatteryClassIoctl обрабатывает определяемые системой ioCTL батареи.

Синтаксис

NTSTATUS BATTERYCLASSAPI BatteryClassIoctl(
  [in]      PVOID ClassData,
  [in, out] PIRP  Irp
);

Параметры

[in] ClassData

Указатель на дескриптор класса батареи, который ранее был возвращен batteryClassInitializeDevice.

[in, out] Irp

Указатель на IRP, содержащий IOCTL для обработки.

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

BatteryClassIoctl возвращает STATUS_SUCCESS, когда он удовлетворяет запросу и завершает IRP. Он возвращает STATUS_NOT_SUPPORTED для всех irP, кроме irp управления устройствами, которые указывают IOCTL батареи.

Комментарии

BatteryClassIoctl обрабатывает и завершает irp управления устройствами, предназначенные для батареи. Такие irP имеют один из следующих кодов управления вводом-выводом:

  • IOCTL_BATTERY_QUERY_INFORMATION
  • IOCTL_BATTERY_QUERY_STATUS
  • IOCTL_BATTERY_QUERY_TAG
  • IOCTL_BATTERY_SET_INFORMATION
Стандартные ioCTL батареи соответствуют подпрограммам драйвера мини-класса батареи (процедуры BatteryMiniXxx ).

Когда драйвер мини-класса вызывается с IRP_MJ_DEVICE_CONTROL запросом, он должен определить, содержит ли IRP какой-либо частный IOCTL, определенный драйвером мини-класса. В этом случае драйвер мини-класса должен выполнить запрос, завершить IRP и вернуться.

Если IRP содержит общедоступный IOCTL, драйвер должен передать IRP в подпрограмму BatteryClassIoctl драйвера класса. Эта подпрограмма проверяет IRP, определяет, применяется ли она к аккумулятору вызывающего абонента, и, если да, вызывает соответствующую подпрограмму BatteryMiniXxx для выполнения запрошенной операции.

Если BatteryClassIoctl возвращает STATUS_NOT_SUPPORTED для IRP, драйвер мини-класса должен либо завершить IRP, либо переслать его следующему драйверу ниже.

Требования

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

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

BatteryMiniQueryInformation

BatteryMiniQueryStatus

BatteryMiniQueryTag

BatteryMiniSetInformation