Поделиться через


Функция IoWMIWriteEvent (wdm.h)

Подпрограмма IoWMIWriteEvent доставляет заданное событие компонентам WMI пользовательского режима для уведомления.

Синтаксис

NTSTATUS IoWMIWriteEvent(
  [in, out] PVOID WnodeEventItem
);

Параметры

[in, out] WnodeEventItem

Указатель на структуру WNODE_EVENT_ITEM , которая должна быть доставлена в компоненты WMI пользовательского режима, запрашивающие уведомление о событии.

Возвращаемое значение

IoWMIWriteEvent возвращает код состояния из следующего списка:

Код возврата Описание
STATUS_SUCCESS
Указывает, что WMI успешно поставил событие в очередь для доставки в компоненты WMI пользовательского режима.
STATUS_UNSUCCESSFUL
Указывает, что службы WMI недоступны.
STATUS_BUFFER_OVERFLOW
Указывает, что указанный элемент события превышает максимально допустимый размер.
STATUS_INSUFFICIENT_RESOURCES
Указывает, что для WMI недостаточно ресурсов для постановки события в очередь для доставки.

Комментарии

Структура WNODE_EVENT_ITEM, выделенная вызывающим объектом и передаваемая в WnodeEventItem , должна быть выделена из непагированного пула. Если IoWMIWriteEvent возвращает STATUS_SUCCESS, память для элемента события будет автоматически освобождена системой. Если IoWMIWriteEvent возвращает не STATUS_SUCCESS, то за освобождение буфера отвечает вызывающий объект.

Драйверы должны вызывать IoWMIWriteEvent только для событий, для которых включен инструментарий WMI. Это гарантирует, что потребитель события ожидает указания на это событие.

Вызывающие объекты этой подпрограммы должны выполняться в IRQL <= APC_LEVEL с одним исключением. Если элемент Flags структуры WNODE_HEADER содержит WNODE_FLAG_TRACED_GUID, ioWMIWriteEvent можно вызвать в любом IRQL. (Структура WNODE_HEADER является членом структуры WNODE_EVENT_ITEM , на которую указывает параметр WnodeEventItem .)

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (см. раздел "Примечания")

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

IoWmiDeviceObjectToProviderId

WNODE_EVENT_ITEM