Функция IoWMIOpenBlock (wdm.h)
Подпрограмма IoWMIOpenBlock открывает объект блока данных WMI для указанного класса WMI.
Синтаксис
NTSTATUS IoWMIOpenBlock(
[in] LPCGUID Guid,
[in] ULONG DesiredAccess,
[out] PVOID *DataBlockObject
);
Параметры
[in] Guid
Указывает GUID для класса WMI.
[in] DesiredAccess
Указывает требуемые права доступа к объекту блока данных. Вызывающий объект должен иметь определенные права доступа для выполнения определенных операций.
Ниже приведено описание каждого бита доступа и разрешенных операций.
WMIGUID_EXECUTE
Объект блока данных можно использовать для запуска методов класса WMI. Этот флаг должен быть установлен для использования IoWMIExecuteMethod в объекте блока данных.
WMIGUID_NOTIFICATION
Объект блока данных можно использовать для регистрации обратных вызовов уведомлений о событиях. Этот флаг должен быть установлен для использования IoWMISetNotificationCallbackи может использоваться только для блоков событий WMI. Вызывающие абоненты, которые указывают этот флаг, также должны указывать флаг SYNCHRONIZE.
WMIGUID_QUERY
Объект блока данных можно использовать для запроса свойств класса WMI. Этот флаг должен быть установлен для использования любой из подпрограмм IoWMIQueryXxx в объекте блока данных.
WMIGUID_SET
Объект блока данных можно использовать для задания свойств класса WMI. Этот флаг должен быть установлен для использования любого из IoWMISetxxx подпрограмм в объекте блока данных.
[out] DataBlockObject
Указатель на расположение памяти, в котором подпрограмма возвращает указатель на объект блока данных.
Возвращаемое значение
Возвращает STATUS_SUCCESS об успешном выполнении или соответствующий код ошибки NTSTATUS при сбое.
Замечания
Вызывающий объект использует IoWMIOpenBlock для создания объекта блока данных для указанного GUID класса WMI. Затем вызывающий объект может использовать объект блока данных для чтения или записи свойств класса WMI, выполнения методов класса WMI и регистрации обратных вызовов для событий WMI.
Используйте IoWMIQueryXxx и IoWMISetXxx подпрограммы для чтения и записи свойств класса WMI. Используйте IoWMIExecuteMethod для запуска методов класса WMI и использования IoWMISetNotificationCallback для регистрации обратного вызова уведомления о событии WMI.
Используйте ObDereferenceObject, чтобы закрыть объект блока данных после того, как он больше не нужен.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows XP и более поздних версиях операционной системы Windows. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Ntddk.h, Ntifs.h. Значения WMIGUID_XXX объявляются в Wmistr.h. Чтобы использовать их, включите Wmistr.h.) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |