ioWMIWriteEvent 函数 (wdm.h)
IoWMIWriteEvent 例程将给定事件传递给用户模式 WMI 组件以用于通知。
语法
NTSTATUS IoWMIWriteEvent(
[in, out] PVOID WnodeEventItem
);
参数
[in, out] WnodeEventItem
指向要传递给请求事件通知的用户模式 WMI 组件的 WNODE_EVENT_ITEM 结构的指针。
返回值
IoWMIWriteEvent 从以下列表中返回状态代码:
返回代码 | 说明 |
---|---|
|
指示 WMI 已成功将事件排队,以便传递到用户模式 WMI 组件。 |
|
指示 WMI 服务不可用。 |
|
指示指定的事件项超过允许的最大大小。 |
|
指示 WMI 可用的资源不足,无法将事件排队等待传递。 |
注解
调用方分配并在 WnodeEventItem 中传递的WNODE_EVENT_ITEM结构必须从非分页池中分配。 如果 IoWMIWriteEvent 返回STATUS_SUCCESS,系统将自动释放事件项的内存。 如果 IoWMIWriteEvent 返回除STATUS_SUCCESS以外的任何内容,则调用方负责释放缓冲区。
驱动程序应仅为已启用 WMI 的事件调用 IoWMIWriteEvent 。 这可确保有事件使用者正在等待该事件的指示。
此例程的调用方必须在 IRQL <= APC_LEVEL 运行,但有一个例外。 当 WNODE_HEADER 结构的 Flags 成员包含WNODE_FLAG_TRACED_GUID时,可以在任何 IRQL 中调用 IoWMIWriteEvent。 (WNODE_HEADER 结构是 WnodeEventItem 参数指向的 WNODE_EVENT_ITEM 结构的成员。)
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (请参阅备注部分) |