(wdm.h) IoWMIWriteEvent 函式
IoWMIWriteEvent 例程會將指定的事件傳遞給使用者模式 WMI 元件以取得通知。
語法
NTSTATUS IoWMIWriteEvent(
[in, out] PVOID WnodeEventItem
);
參數
[in, out] WnodeEventItem
要傳遞至要求事件通知的使用者模式 WMI 元件之 WNODE_EVENT_ITEM 結構的指標。
傳回值
IoWMIWriteEvent 會從下列清單傳回狀態代碼:
傳回碼 | Description |
---|---|
|
表示 WMI 已成功將事件排入佇列,以傳遞至使用者模式 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 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL (请参阅一节) |