Функция 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
Когда драйвер мини-класса вызывается с 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 |