wmiFireEvent 函式 (wmilib.h)
WmiFireEvent 例程會將事件傳送至 WMI,以傳遞至要求事件通知的數據取用者。
語法
NTSTATUS WmiFireEvent(
[in] PDEVICE_OBJECT DeviceObject,
[in] LPCGUID Guid,
[in] ULONG InstanceIndex,
[in] ULONG EventDataSize,
[in, optional] PVOID EventData
);
參數
[in] DeviceObject
驅動程式 DEVICE_OBJECT的指標。
[in] Guid
表示事件區塊之 GUID 的指標。
[in] InstanceIndex
如果事件區塊有多個實例,請指定 實例的索引。
[in] EventDataSize
指定 EventData 的數據位元組數目。 如果未為事件產生任何數據, EventData 必須為零。
[in, optional] EventData
驅動程式配置的非分頁緩衝區指標,其中包含驅動程序針對事件所產生的數據。 如果未為事件產生任何數據, EventData 必須是 NULL。 WMI 會釋放緩衝區,而不需要驅動程序進一步介入。
傳回值
WmiFireEvent 會傳播 IoWmiWriteEvent 傳回的狀態,如果無法配置事件的記憶體,則會傳回STATUS_INSUFFICIENT_RESOURCES。
備註
驅動程式會呼叫 WmiFireEvent ,將事件傳送至 WMI,以傳遞至已要求事件通知的所有數據取用者。 傳遞至 WmiFireEvent 的所有指標都必須指向不可分頁的記憶體,例如非分頁集區。
只有在驅動程式的 DpWmiFunctionControl 例程先前已啟用該事件時,驅動程式才會傳送事件,WMI 會呼叫該例程來處理 IRP_MN_ENABLE_EVENT 要求。
驅動程式會將與事件相關聯的任何數據寫入 EventData 的緩衝區。 WMI 會填入 數據WNODE_SINGLE_INSTANCE 結構,並呼叫 IoWmiWriteEvent 來傳遞事件。
如需事件追蹤的詳細資訊,請參閱 WMI 事件追蹤。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wmilib.h (包含 Wmilib.h) |
程式庫 | Wmilib.lib |
IRQL | <= DISPATCH_LEVEL |