Функция BatteryClassQueryWmiDataBlock (batclass.h)
Подпрограмма BatteryClassQueryWmiDataBlock используется драйверами миникласса батареи в подпрограммах DpWmiQueryDataBlock , чтобы позволить драйверу класса батареи обрабатывать запросы блока данных WMI, которые он обрабатывает от имени драйвера.
Синтаксис
NTSTATUS BATTERYCLASSAPI BatteryClassQueryWmiDataBlock(
[in] PVOID ClassData,
[in, out] PDEVICE_OBJECT DeviceObject,
[in, out] PIRP Irp,
[in] ULONG GuidIndex,
[out] PULONG InstanceLengthArray,
[in] ULONG OutBufferSize,
[out, optional] PUCHAR Buffer
);
Параметры
[in] ClassData
Указатель на дескриптор класса батареи, который ранее был получен из BatteryClassInitializeDevice.
[in, out] DeviceObject
Указатель на объект устройства драйвера. Драйвер мини-класса батареи должен передать соответствующий параметр, который он получает в качестве входных данных, в подпрограмму DpWmiQueryDataBlock .
[in, out] Irp
Указатель на запрос блока данных WMI. Драйвер мини-класса батареи должен передать соответствующий параметр, который он получает в качестве входных данных, в подпрограмму DpWmiQueryDataBlock .
[in] GuidIndex
Указывает класс WMI по индексу. Драйвер мини-класса батареи должен передать соответствующий параметр, который он получает в качестве входных данных, в подпрограмму DpWmiQueryDataBlock .
[out] InstanceLengthArray
Указатель на массив значений ULONG, указывающих длину каждого возвращаемого экземпляра. Драйвер мини-класса батареи должен передать соответствующий параметр, который он получает в качестве входных данных, в подпрограмму DpWmiQueryDataBlock .
[in] OutBufferSize
Указывает максимальное количество байтов, доступных для получения данных в буфере, заданном параметром Buffer . Драйвер мини-класса батареи должен передать значение параметра BufferAvail , который он получает в качестве входных данных, в подпрограмму DpWmiQueryDataBlock .
[out, optional] Buffer
Указатель на буфер для получения данных экземпляра. Если буфер слишком мал для хранения данных, функция BatteryClassQueryWmiDataBlock возвращает значение состояния STATUS_BUFFER_TOO_SMALL. Драйвер мини-класса батареи должен передать соответствующий параметр, который он получает в качестве входных данных, в подпрограмму DpWmiQueryDataBlock .
Возвращаемое значение
BatteryClassQueryWmiDataBlock возвращает код состояния NT. Возможные возвращаемые значения:
Код возврата | Описание |
---|---|
|
Драйвер класса батареи успешно обработал запрос. |
|
Драйвер класса батареи не может обработать запрос, так как буфер, заданный параметром Buffer , слишком мал. |
|
Драйвер класса батареи не обрабатывает этот класс WMI. |
Комментарии
По умолчанию драйвер мини-класса батареи должен вызвать BatteryClassQueryWmiDataBlock внутри подпрограммы DpWmiQueryDataBlock перед обработкой запроса. Драйвер мини-класса должен передавать получаемые параметры в качестве входных данных в подпрограмму DpWmiQueryDataBlock . Если драйвер класса батареи возвращает состояние, отличное от STATUS_WMI_GUID_NOT_FOUND, подпрограмма обработала запрос от имени драйвера мини-класса. В этом случае драйвер класса уже вызвал WmiCompleteRequest, и драйвер мини-класса не должен вызывать его повторно.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | batclass.h (включая Batclass.h) |
Библиотека | Battc.lib |