Функция 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 (включая Ntddk.h, Ntifs.h. Значения WMIGUID_XXX объявляются в Wmistr.h. Чтобы использовать их, включите Wmistr.h.)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также раздел

IoWMIExecuteMethod

IoWMIQueryAllData

IoWMIQueryAllDataMultiple

IoWMIQuerySingleInstance

IoWMIQuerySingleInstanceMultiple

IoWMISetNotificationCallback

IoWMISetSingleInstance

IoWMISetSingleItem

ZwClose