Функция IoWMIWriteEvent (wdm.h)
Подпрограмма IoWMIWriteEvent предоставляет данное событие компонентам WMI пользовательского режима для уведомления.
Синтаксис
NTSTATUS IoWMIWriteEvent(
[in, out] PVOID WnodeEventItem
);
Параметры
[in, out] WnodeEventItem
Указатель на WNODE_EVENT_ITEM структуру для доставки в компоненты WMI пользовательского режима, запрашивающие уведомление о событии.
Возвращаемое значение
IoWMIWriteEvent возвращает код состояния из следующего списка:
Возвращаемый код | Описание |
---|---|
|
Указывает, что WMI успешно помещает событие для доставки в компоненты WMI пользовательского режима. |
|
Указывает, что службы WMI недоступны. |
|
Указывает, что указанный элемент события превышает максимальный допустимый размер. |
|
Указывает, что недостаточно ресурсов для 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 (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (см. раздел "Примечания") |