Функция IoWMIQueryAllData (wdm.h)
Подпрограмма IoWMIQueryAllData возвращает все блоки данных WMI, реализующие заданный класс WMI.
Синтаксис
NTSTATUS IoWMIQueryAllData(
[in] PVOID DataBlockObject,
[in, out] PULONG InOutBufferSize,
[out, optional] PVOID OutBuffer
);
Параметры
[in] DataBlockObject
Указатель на объект блока данных WMI. Вызывающий объект открывает объект блока данных для класса WMI с помощью процедуры IoWMIOpenBlock . Объект должен быть открыт с правом доступа WMIGUID_QUERY.
[in, out] InOutBufferSize
Указатель на расположение памяти, указывающее размер буфера, передаваемого в параметре OutBuffer . Если подпрограмма завершается успешно, она обновляет расположение в памяти, указывая количество байтов, фактически хранящихся в OutBuffer. Если подпрограмма завершается сбоем с кодом состояния STATUS_BUFFER_TOO_SMALL, она возвращает количество байтов, необходимое для возврата данных.
[out, optional] OutBuffer
Указатель на буфер, в который подпрограмма возвращает данные WMI. Подпрограмма возвращает последовательность структур WNODE_ALL_DATA переменной величины, по одной для каждого набора возвращаемых блоков данных. Элемент WnodeHeader.Linkage каждой структуры WNODE_ALL_DATA содержит смещение от начала текущего WNODE_ALL_DATA до начала следующего WNODE_ALL_DATA. Последний блок в цепочке имеет значение WnodeHeader.Linkage , равный нулю. OutBuffer должен указывать на буфер, выделенный из невыгружаемого пула.
Возвращаемое значение
Подпрограмма возвращает код NTSTATUS. Возможные возвращаемые значения:
Код возврата | Описание |
---|---|
|
Операция успешно выполнена. Подпрограмма возвращает данные WMI в буфере, на который указывает параметр OutBuffer . Подпрограмма также возвращает размер возвращаемых данных в байтах в расположении памяти, на который указывает параметр InOutBufferSize . |
|
Ни одно из драйверов не реализует указанный класс WMI. |
|
Буфер, передаваемый вызывающим объектом в параметре OutBuffer , слишком мал. Подпрограмма возвращает требуемый размер буфера в расположении памяти, на который указывает параметр InOutBufferSize . |
Комментарии
IoWMIQueryAllData определяет, какие драйверы поддерживают указанный класс WMI, и отправляет запрос IRP_MN_QUERY_ALL_DATA каждому такому драйверу.
Для запроса нескольких классов WMI используйте IoWMIQueryAllDataMultiple.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Microsoft Windows XP и более поздних версиях операционной системы Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |