次の方法で共有


CComCompositeControl::AdviseSinkMap

更新 : 2007 年 11 月

複合コントロールでホストされているすべてのコントロールをアドバイズするか、アドバイズを中止します。

HRESULT AdviseSinkMap(
   bool bAdvise 
);

パラメータ

  • bAdvise
    すべてのコントロールをアドバイズする場合は true。それ以外の場合は false。

戻り値

  • S_OK
    イベント シンク マップ内のすべてのコントロールが、イベント ソースに接続されたか、イベント ソースから切断されました。

  • E_FAIL
    イベント シンク マップ内のコントロールのうち、イベント ソースに接続できなかったコントロール、またはイベント ソースから切断できなかったコントロールがあります。

  • E_POINTER
    通常、このエラーは、コントロールのイベント シンク マップ内のエントリに問題があること、または IDispEventImpl 基本クラスまたは IDispEventSimpleImpl 基本クラスで使用されるテンプレート引数に問題があることを示します。

  • CONNECT_E_ADVISELIMIT
    コネクション ポイントは既に最大接続数に達していて、これ以上受け入れられません。

  • CONNECT_E_CANNOTCONNECT
    シンクは、このコネクション ポイントが必要とするインターフェイスをサポートしていません。

  • CONNECT_E_NOCONNECTION
    Cookie 値が有効な接続を表していません。通常、このエラーは、コントロールのイベント シンク マップ内のエントリに問題があること、または IDispEventImpl 基本クラスまたは IDispEventSimpleImpl 基本クラスで使用されるテンプレート引数に問題があることを示します。

解説

このメソッドの基本実装は、イベント シンク マップのエントリ全体を検索します。次に、イベント シンク マップのシンク エントリに記述されている COM オブジェクトへのコネクション ポイントをアドバイズするか、アドバイズを中止します。このメソッドは、派生クラスが、アドバイズまたはアドバイズを中止するシンク マップのすべてのコントロールに対して IDispEventImpl の 1 つのインスタンスを継承していることも前提にしています。

必要条件

ヘッダー : atlcom.h

参照

参照

CComCompositeControl クラス

IDispEventImpl クラス

BEGIN_SINK_MAP

CComCompositeControl::CreateControlWindow

その他の技術情報

CComCompositeControl のメンバ