Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма IoWMIExecuteMethod выполняет метод класса WMI в указанном экземпляре блока данных WMI.
Синтаксис
NTSTATUS IoWMIExecuteMethod(
[in] PVOID DataBlockObject,
[in] PUNICODE_STRING InstanceName,
[in] ULONG MethodId,
[in] ULONG InBufferSize,
[in, out] PULONG OutBufferSize,
[in, out] PUCHAR InOutBuffer
);
Параметры
[in] DataBlockObject
Указатель на объект блока данных WMI. Вызывающий объект открывает объект блока данных для класса WMI с IoWMIOpenBlock. Объект должен быть открыт с помощью права доступа WMIGUID_EXECUTE.
[in] InstanceName
Указывает имя экземпляра блока данных. Это значение соответствует значению свойства InstanceName для блока.
[in] MethodId
Указывает идентификатор элемента метода для заданного метода. Значение этого параметра соответствует значению, объявленному в квалификаторе WmiMethodId WmiMethodId.
[in] InBufferSize
Задает размер в байтах входных данных для метода. Фактические входные данные передаются в буфере, на который указывает параметр InOutBuffer.
[in, out] OutBufferSize
Указатель на ULONG, указывающий ожидаемый размер, байты выходных данных методом. Фактические выходные данные возвращаются в буфере, на который указывает параметр InOutBuffer. Если подпрограмма успешно выполнена, она обновляет расположение памяти, чтобы указать количество байтов, фактически хранящихся в InOutBuffer. Если подпрограмма завершается сбоем с STATUS_BUFFER_TOO_SMALL, возвращается количество байтов, необходимых для возврата данных.
[in, out] InOutBuffer
Указатель на буфер, где вызывающий передает входные данные метода WMI и получает выходные данные метода WMI.
Возвращаемое значение
Подпрограмма возвращает код NTSTATUS. Возможные возвращаемые значения:
Возвращаемый код | Описание |
---|---|
|
Операция завершилась успешно. Подпрограмма возвращает данные WMI в буфере, на который указывает параметр InOutBuffer. Подпрограмма также возвращает размер в байтах возвращаемых данных в расположении памяти, на которое указывает параметр OutBufferSize. |
|
Драйверы не реализуют класс WMI. |
|
Драйвер не реализует экземпляр класса WMI с свойством InstanceName равным значению, указанному в параметре InstanceName. |
|
Класс WMI не содержит метод с идентификатором метода, равным значению MethodId. |
|
Буфер, переданный вызывающим объектом в параметре OutBuffer, слишком мал. Подпрограмма возвращает требуемый размер буфера в расположении памяти, на которое указывает параметр InOutBufferSize. |
|
GUID WMI больше недоступен или никогда недоступен. |
Замечания
IoWMIExecuteMethod определяет, какие драйверы могут поддерживать указанный класс WMI и имя экземпляра. Он выдает запрос IRP_MN_EXECUTE_METHOD каждому такому драйверу. Драйвер, экспортируемый экземпляр блока данных с соответствующим свойством InstanceName, затем запускает указанный метод WMI.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows XP и более поздних версиях операционной системы Windows. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |