インターフェイス (ATL プロバイダー ウィザードによって作成される通常のデータ ソース、行セット、コマンド、またはセッション オブジェクト) を追加するオブジェクトを決定します。それをインターフェイスに追加する必要があるオブジェクトは、プロバイダーで現在サポートされていないものであることが可能です。その場合は、オブジェクトを作成するには、ATL オブジェクト ウィザードを実行 (、プロジェクト ワークスペースの ClassView ウィンドウで右クリックし、新しい ATL オブジェクトを選択)。
インターフェイスをサポートする新しいクラスを作成する場合は、そのクラスから継承するオブジェクトを確認します。たとえば、行セット オブジェクトをクラスIRowsetIndexImplを追加可能性があります。:
テンプレート lt; クラスの作成者 >CAgentRowset クラス: パブリック CRowsetImpl < CAgentRowset <Creator>、CAgentMan、作成者 >パブリック IRowsetIndexImpl <. & gt
COM_INTERFACE_ENTRYマクロを使用してオブジェクトのCOM_MAPにインターフェイスを追加します。マップがない場合は、1 つ作成します。たとえば:
BEGIN_COM_MAP(CAgentRowset)特価;COM_INTERFACE_ENTRY(IRowsetIndex)END_COM_MAP()(&N)
行セット オブジェクトのマップをチェインして、親のオブジェクト、オブジェクトが親クラスに委任できるようにします。この例では、 COM_INTERFACE_ENTRY_CHAINマクロをマップに追加します。:
BEGIN_COM_MAP(CAgentRowset)特価;COM_INTERFACE_ENTRY(IRowsetIndex)COM_INTERFACE_ENTRY_CHAIN(CRowsetImpl)END_COM_MAP()(&N)