共用方式為


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

另請參閱

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl