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 结构的成员包含WNODE_FLAG_TRACED_GUID 时,可以在任何 IRQL 上调用 ioWMIWriteEvent。 (WNODE_HEADER 结构是 WnodeEventItem 参数指向的 WNODE_EVENT_ITEM 结构的成员。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (请参阅“备注”部分) |