次の方法で共有


COM_INTERFACE_ENTRY2

2 つの継承元に関するあいまい性を解決します。

COM_INTERFACE_ENTRY2( x, x2 )

パラメーター

  • X
    [入力] オブジェクトから公開するインターフェイスの名前。

  • x2
    [入力] x が公開される継承の分岐の名前。

解説

たとえば、クラス オブジェクトを 2 つのデュアル インターフェイスから派生させる場合は、COM_INTERFACE_ENTRY2 を使用して IDispatch を公開します。IDispatch はどちらのインターフェイスからでも取得できるからです。

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

使用例

class ATL_NO_VTABLE CEntry2Example :
   public CEntry2ExampleBase, // CEntry2ExampleBase derives from IDispatch
   public IDispatchImpl<IEntry2Example, &IID_IEntry2Example, &LIBID_NVC_ATL_WindowingLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
   public CComCoClass<CEntry2Example, &CLSID_Entry2Example>
{
public:
   CEntry2Example()
   {
   }

BEGIN_COM_MAP(CEntry2Example)
   COM_INTERFACE_ENTRY(IEntry2Example)
   COM_INTERFACE_ENTRY2(IDispatch, IEntry2Example)
END_COM_MAP()
};

必要条件

ヘッダー: atlcom.h

参照

その他の技術情報

COM マップに関するマクロ

ATL マクロ