コネクション ポイントを実装する

接続ポイントの実装ウィザードを使用してコネクション ポイントを実装するには、ATL COM アプリケーションとしてか、ATL サポートを含む MFC アプリケーションとしてプロジェクトを作成しておく必要があります。 ATL アプリケーションを作成するか、ATL オブジェクトを MFC アプリケーションに追加して MFC アプリケーションの ATL サポートを実装するには、ATL プロジェクト ウィザードを利用できます。

Note

MFC プロジェクトのコネクション ポイントを実装する方法の詳細については、「コネクション ポイント」を参照してください。

プロジェクトを作成したら、コネクション ポイントを実装するためには、最初に ATL オブジェクトを追加する必要があります。 ATL プロジェクトにオブジェクトを追加するウィザードの一覧が必要であれば、ATL プロジェクトにオブジェクトとコントロールを追加する方法に関するページを参照してください。

Note

このウィザードは、ATL ダイアログ、ATL Server で作成した XML Web サービス、パフォーマンス オブジェクト、パフォーマンス カウンターに対応していません。

接続可能なオブジェクト (ソース) は、その発信インターフェイスごとにコネクション ポイントを表示できます。 各発信インターフェイスは、オブジェクト上のクライアント (シンク) によって実装できます。 詳細については、「ATL コネクション ポイント」を参照してください。

コネクション ポイントを実装するには:

  1. クラス ビューで、ATL オブジェクトのクラス名を右クリックします。

  2. ショートカット メニューの [追加] を選択し、[接続ポイントの追加] を選択して [接続ポイントの実装ウィザード] を表示します。

  3. 該当するタイプ ライブラリから実装するコネクション ポイント インターフェイスを選択し、[完了] を選択します。

  4. クラス ビューで、コネクション ポイントごとに作成されたプロキシ クラスを確認します。 クラスは CProxyInterfaceName<T> と表示されます。IConnectionPointImpl から派生しています。

  5. コネクション ポイント クラスをダブルクリックすると、コネクション ポイントのクラスの定義が表示されます。

    • 独自のプロジェクトのインターフェイスに対してコネクション ポイントを実装する場合、次の定義が表示されます。

      template< class T >
      class CProxyInterfaceName :
      public IConnectionPointImpl< T, &IID_InterfaceName >
      {
      public:
      };
      
    • ローカル インターフェイスを実装する場合、メソッドとプロパティがクラス本体に表示されます。

    • 別のインターフェイスに対してコネクション ポイントを実行する場合、定義にはインターフェイスのメソッドが含まれます。それぞれ、先頭に Fire_ が付きます。

このセクションの内容

接続ポイントの実装ウィザード

このウィザードでは、COM オブジェクトの接続ポイントを実装できます。 接続可能なオブジェクト (ソース) は、独自のインターフェイスまたは任意の発信インターフェイスの接続ポイントを表示できます。 MSVC と Windows の両方に、発信インターフェイスがあるタイプ ライブラリがあります。 各発信インターフェイスは、オブジェクト上のクライアント (シンク) によって実装できます。

詳細については、「ATL コネクション ポイント」を参照してください。

  • [Available type libraries](使用可能なタイプ ライブラリ)

    接続ポイントを実装できるインターフェイスの定義を含む使用可能なタイプ ライブラリを表示します。 省略記号ボタンを選択すると、使用するタイプ ライブラリを含むファイルを見つけることができます。

  • 場所

    [Available type libraries](使用可能なタイプ ライブラリ) リストで現在選択されているタイプ ライブラリの場所を表示します。

  • インターフェイス

    [使用できるタイプ ライブラリ] ボックスで現在選択されているタイプ ライブラリに定義が含まれているインターフェイスを表示します。

    転送ボタン 説明
    > [Implement connection points](接続ポイントを実装する) リストに、現在 [インターフェイス] リストで選択されているインターフェイス名を追加します。
    >> [Implement connection points](接続ポイントを実装する) リストに、[インターフェイス] リストで使用可能なすべてのインターフェイス名を追加します。
    < 現在 [Implement connection points](接続ポイントを実装する) リストで選択されているインターフェイス名を削除します。
    << 現在 [Implement connection points](接続ポイントを実装する) リストに表示されているすべてのインターフェイス名を削除します。
  • Implement connection points(接続ポイントを実装する)

    [完了] を選択したときに接続ポイントを実装する、インターフェイス名を表示します。