Provádění CComObjectRootEx
CComObjectRootEx je nezbytné; všechny objekty ATL musí mít jeden výskyt CComObjectRootEx nebo CComObjectRoot v jejich dědičnosti.CComObjectRootExve výchozím nastavení poskytuje QueryInterface mechanismus založené na modelu COM položek mapování.
Prostřednictvím jeho mapa COM objektu rozhraní vystaveni klienta, když se klient dotazuje rozhraní.Dotaz se provádí prostřednictvím CComObjectRootEx::InternalQueryInterface .InternalQueryInterfacezpracovává pouze rozhraní COM rozvržení tabulky.
Rozhraní můžete zadat do tabulky mapování COM se COM_INTERFACE_ENTRY makro nebo jeden z jeho variant.Například následující kód z BEEPER vzorku zadá rozhraní IDispatch , IBeeper , a ISupportErrorInfo do tabulky mapování modelu COM:
BEGIN_COM_MAP(CBeeper)
COM_INTERFACE_ENTRY(IBeeper)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()