共用方式為


(wdm.h) IoWMIWriteEvent 函式

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

語法

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

參數

[in, out] WnodeEventItem

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

傳回值

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

傳回碼 Description
STATUS_SUCCESS
表示 WMI 已成功將事件排入佇列,以傳遞至使用者模式 WMI 元件。
STATUS_UNSUCCESSFUL
表示 WMI 服務無法使用。
STATUS_BUFFER_OVERFLOW
表示指定的事件項目超過允許的大小上限。
STATUS_INSUFFICIENT_RESOURCES
表示 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 (请参阅一节)

另請參閱

IoWmiDeviceObjectToProviderId

WNODE_EVENT_ITEM