CComObjectRootEx の実装

更新 : 2007 年 11 月

CComObjectRootEx は必須です。すべての ATL オブジェクトは、それぞれの継承に CComObjectRootEx または CComObjectRoot のインスタンスが 1 つ必要です。CComObjectRootEx は、COM マップ エントリに基づいた既定の QueryInterface 機構を提供します。

クライアントがインターフェイスを照会すると、COM マップを通して、オブジェクトのインターフェイスがクライアントに公開されます。照会は、CComObjectRootEx::InternalQueryInterface を介して行われます。InternalQueryInterface は、COM マップ テーブルのインターフェイスだけを処理します。

COM_INTERFACE_ENTRY マクロ、またはこのマクロの変形を使用して、COM マップ テーブルにインターフェイスを入力できます。たとえば、BEEPER サンプル の次のコードは、COM マップ テーブルに IDispatch、IBeeper、および ISupportErrorInfo の各インターフェイスを入力します。

BEGIN_COM_MAP(CBeeper)
   COM_INTERFACE_ENTRY(IBeeper)
   COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()

参照

参照

ATL COM オブジェクトの基本事項

その他の技術情報

COM マップに関するマクロ