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

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

注

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

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

注

このウィザードは、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(接続ポイントを実装する)

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