共用方式為


IoWMIWriteEvent 函式 (wdm.h)

IoWMIWriteEvent 例程會將指定的事件傳遞給使用者模式 WMI 元件,以取得通知。

語法

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

參數

[in, out] WnodeEventItem

要傳遞至要求事件通知的使用者模式 WMI 元件之 WNODE_EVENT_ITEM 結構的指標。

傳回值

IoWMIWriteEvent 會從下列清單中傳回狀態代碼:

傳回碼 描述
STATUS_SUCCESS
表示 WMI 已成功將事件排入佇列,以傳遞至使用者模式 WMI 元件。
STATUS_UNSUCCESSFUL
表示 WMI 服務無法使用。
STATUS_BUFFER_OVERFLOW
表示指定的事件項目超過允許的大小上限。
STATUS_INSUFFICIENT_RESOURCES
表示 WMI 沒有足夠的資源可供 WMI 將事件排入佇列以供傳遞。

言論

呼叫端所配置的WNODE_EVENT_ITEM結構,並傳入 WnodeEventItem 必須從非分頁集區配置。 如果 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 (請參閱一節)

另請參閱

IoWmiDeviceObjectToProviderId

WNODE_EVENT_ITEM