次の方法で共有


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

IRP_MN_ENABLE_EVENTS

WmiSystemControl