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 は 0 である必要があります。
[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 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wmilib.h (Wmilib.h を含む) |
Library | Wmilib.lib |
IRQL | <= DISPATCH_LEVEL |