インターフェイスの実装
インターフェイスを実装するには、ATL COM アプリケーションとしてか、ATL サポートを含む MFC アプリケーションとしてプロジェクトを作成しておく必要があります。 ATL アプリケーションを作成するか、ATL オブジェクトを MFC アプリケーションに追加して MFC アプリケーションの ATL サポートを実装するには、ATL プロジェクト ウィザードを利用できます。
プロジェクトを作成したら、インターフェイスを実装するためには、最初に ATL オブジェクトを追加する必要があります。 ATL プロジェクトにオブジェクトを追加するウィザードの一覧が必要であれば、ATL プロジェクトにオブジェクトとコントロールを追加する方法に関するページを参照してください。
注意
このウィザードは、ATL ダイアログ ボックス、ATL を使用する XML Web サービス、パフォーマンス オブジェクト、パフォーマンス カウンターに対応していません。
ATL コントロールを追加する場合、既定のインターフェイスを実装するかどうかを指定できます。 既定のインターフェイスは、そのウィザードの [インターフェイス] ページに表示されます。また、atlcom.h で定義されています。
オブジェクトまたはコントロールを追加した後で、インターフェイス実装ウィザードを使用して、任意の利用可能なタイプ ライブラリ内にある他のインターフェイスを実装できます。
新しいインターフェイスを追加する場合は、プロジェクトの .idl ファイルにそれを手動で追加する必要があります。 詳細については、「ATL プロジェクトでの新しいインターフェイスの追加」を参照してください。
インターフェイスを実装するには:
クラス ビューで、ATL オブジェクトのクラス名を右クリックします。
ショートカット メニューから [追加] を選択し、[インターフェイスの実装] を選択して、インターフェイス実装ウィザードを表示します。
該当するタイプ ライブラリから実装するインターフェイスを選択し、[完了] を選択します。
クラス ビューで、オブジェクトの [Bases and Interfaces]\(ベースとインターフェイス\) ノードを展開し、実装したインターフェイスを表示します。 次にインターフェイスのノードを展開し、使用できるプロパティ、メソッド、イベントを表示します。
注意
オブジェクト ブラウザーを使用して、インターフェイスのメンバーを参照することもできます。
このセクションの内容
インターフェイス実装ウィザード
このウィザードは、COM オブジェクトのインターフェイスを実装します。 Visual Studio と Windows で利用できる COM ライブラリには、多くのインターフェイスの実装が含まれています。 インターフェイスの実装は、オブジェクトのインスタンスの作成時にそのオブジェクトに関連付けられます。 また、オブジェクトで提供されるサービスを提供します。
インターフェイスと実装の詳細については、Windows SDK の「Interfaces and Interface Implementations」(インターフェイスとインターフェイスの実装) を参照してください。
インターフェイスの実装元
インターフェイスの作成元となる、タイプ ライブラリの場所を指定します。
オプション 説明 プロジェクト タイプ ライブラリはプロジェクトの一部です。 レジストリ タイプ ライブラリはシステムで登録されます。 登録されているタイプ ライブラリは、[Available type libraries](使用可能なタイプ ライブラリ) にリストされます。 [最近使ったファイル] タイプ ライブラリは必ずしもシステムに登録されるわけではありませんが、ファイルには含まれます。 [場所] でファイルの場所を指定してください。 [Available type libraries](使用可能なタイプ ライブラリ)
実装できるインターフェイスの定義を含む使用可能なタイプ ライブラリを表示します。 [インターフェイスの実装元] の [ファイル] を選択した場合、このボックスは変更できません。
場所
[Available type libraries](使用可能なタイプ ライブラリ) リストで現在選択されているタイプ ライブラリの場所を表示します。 [インターフェイスの実装元] で [ファイル] を選択した場合は、省略記号ボタンを選択して、使用するタイプ ライブラリを含むファイルを見つけます。
インターフェイス
[使用できるタイプ ライブラリ] ボックスで現在選択されているタイプ ライブラリに定義が含まれているインターフェイスを表示します。
注意
選択されているオブジェクトで既に実装されているものと同じ名前を持つインターフェイスは、[インターフェイス] ボックスには表示されません。
転送ボタン 説明 > [複数のインターフェイスの実装] リストに、[インターフェイス] リストで現在選択されているインターフェイス名を追加します。 >> [複数のインターフェイスの実装] リストに、[インターフェイス] リストで使用可能なすべてのインターフェイス名を追加します。 < [複数のインターフェイスの実装] リストで現在選択されているインターフェイス名を削除します。 << [複数のインターフェイスの実装] リストに現在リストされているすべてのインターフェイス名を削除します。 複数のインターフェイスの実装
オブジェクトに実装するために選択したインターフェイスの名前を表示します。
注意
IDispatch
から派生する複数のインターフェイスを含める場合や、クラスに既に存在する別のインターフェイスから派生しているインターフェイスの実装を試みる場合は、COM_MAP エントリのあいまいさを解消する必要があります。 詳細については、「COM_INTERFACE_ENTRY2」を参照してください。