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 開始提供。
目標平臺 環球
標頭 wmilib.h (包含 Wmilib.h)
程式庫 Wmilib.lib
IRQL <= DISPATCH_LEVEL

另請參閱

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl