IWbemUnboundObjectSink::IndicateToConsumer メソッド (wbemprov.h)

IWbemUnboundObjectSink::IndicateToConsumer メソッドは、コンシューマーにイベントを実際に配信するために WMI によって呼び出されます。 実装の観点から、 IndicateToConsumer には、シンクが受け取るイベントを処理するためのコードが含まれています。

構文

HRESULT IndicateToConsumer(
  [in] IWbemClassObject *pLogicalConsumer,
  [in] long             lNumObjects,
  [in] IWbemClassObject **apObjects
);

パラメーター

[in] pLogicalConsumer

このオブジェクトセットが配信される論理コンシューマー オブジェクトへのポインター。

[in] lNumObjects

次の配列に配信されるオブジェクトの数。

[in] apObjects

配信されたイベントを表す IWbemClassObject インスタンスの配列へのポインター。 配列内の各オブジェクトは個別のイベントに対応するため、 IndicateToConsumer の実装では各オブジェクトを個別に処理する必要があります。

戻り値

成功した場合、このメソッドは WBEM_S_NO_ERROR を返します。 それ以外の場合、実装は適切なエラー コードを返す必要があります。

注釈

WMI は通常、IWbemEventConsumerProvider インターフェイスを実装するイベント コンシューマー プロバイダーから、特定の論理コンシューマーの IWbemUnboundObjectSink ポインターを取得します。 次に、Windows Management は IndicateToConsumer を呼び出して、実際のイベント オブジェクトを配信します。

IndicateToConsumer のほとんどの実装では、通知が非同期であると想定されています。 同期通知をサポートするには、シンクが 20 ミリ秒未満でイベント処理を完了する必要があります。 同期通知をサポートする非常に高速なイベント コンシューマー プロバイダーは、 IWbemClassObject インターフェイスへのポインターを保持したり、 IndicateToConsumer でポインター参照数をインクリメントしたりすることはできません。 IndicateToConsumer で、IndicateToConsumer 呼び出しの有効期間を超えて IWbemClassObject によって定義されたクラス オブジェクトが必要な場合は、オブジェクトのコピーを作成します。 ただし、 IWbemClassObject ポインターによって指される情報への長期的なアクセスが必要な場合は、イベント コンシューマー プロバイダーが同期通知をサポートしないことをお勧めします。 イベント コンシューマー プロバイダーは、登録の完了時にサポートする通知の種類を示します。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wbemprov.h (Wbemidl.h を含む)
Library Wbemuuid.lib
[DLL] Fastprox.dll

関連項目

IWbemEventConsumerProvider

IWbemUnboundObjectSink