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