次の方法で共有


COM_INTERFACE_ENTRY_CHAIN

更新 : 2007 年 11 月

処理が COM マップ内のこのエントリに達したときに、基本クラスの COM マップを処理します。

COM_INTERFACE_ENTRY_CHAIN( classname )

パラメータ

  • classname
    [入力] 現在のオブジェクトの基本クラス。

解説

たとえば次のようなコードがあるとします。

BEGIN_COM_MAP(COuterObject)
   COM_INTERFACE_ENTRY2(IDispatch, IOuterObject)
   COM_INTERFACE_ENTRY_CHAIN(CBase)
END_COM_MAP()

COM マップ内の最初のエントリは、COM マップを格納しているオブジェクトのインターフェイスである必要があります。したがって、COM マップの先頭に COM_INTERFACE_ENTRY_CHAIN のエントリを置かないようにしてください。そうしないと、COM_INTERFACE_ENTRY_CHAIN(COtherObject) の位置で別のオブジェクトの COM マップが検索されるようになってしまいます。最初に別のオブジェクトの COM マップを検索する場合は、IUnknown インターフェイスのエントリを COM マップに追加した後、別のオブジェクトの COM マップをチェインします。次に例を示します。

BEGIN_COM_MAP(CThisObject)
   COM_INTERFACE_ENTRY(IUnknown)
   COM_INTERFACE_ENTRY_CHAIN(CBase)
END_COM_MAP()

COM マップのエントリについては、「COM_INTERFACE_ENTRY に関するマクロ」を参照してください。

必要条件

ヘッダー : atlcom.h

参照

その他の技術情報

COM マップに関するマクロ

ATL マクロ