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 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wmilib.h (Wmilib.h を含む) |
ライブラリ | Wmilib.lib |
IRQL | <= DISPATCH_LEVEL |
関連項目
DpWmiFunctionControl の
WmiSystemControl の