CComObjectRootExは不可欠 ? すべての ATL オブジェクトCComObjectRootExまたはCComObjectRootの 1 つのインスタンスの継承があります。COM マップ エントリに基づく既定のQueryInterface機構CComObjectRootExを提供します。
クライアントがインターフェイスを照会すると、COM マップを通して、オブジェクトのインターフェイスをクライアントに公開されます。クエリは、 CComObjectRootEx::InternalQueryInterfaceを介して実行されます。InternalQueryInterfaceのみ COM マップ テーブル内のインタ フェースを処理します。
インターフェイスは、COM マップ テーブルCOM_INTERFACE_ENTRYマクロまたはそのバリエーションの 1 つに入力できます。たとえば、次のコードをから、 BEEPERサンプル入力ISupportErrorInfo IBeeper、 IDispatchインターフェイスを COM マップ テーブルに
BEGIN_COM_MAP(CBeeper)特価;COM_INTERFACE_ENTRY(IDispatch)COM_INTERFACE_ENTRY(IBeeper)COM_INTERFACE_ENTRY_TEAR_OFF (IID_ISupportErrorInfo、CBeeper2)END_COM_MAP)(&N)