Implementando CComObjectRootEx
CComObjectRootEx é essencial. Todos os objetos ATL devem ter uma instância do CComObjectRootEx ou CComObjectRoot em sua herança. CComObjectRootEx fornece o mecanismo padrão QueryInterface com base em entradas de mapa COM.
Por meio de seu mapa COM, interfaces de um objeto são expostas a um cliente quando o cliente consulta uma interface. A consulta é realizada pelo CComObjectRootEx::InternalQueryInterface. InternalQueryInterface somente lida com interfaces na tabela de mapa COM.
Você pode inserir interfaces na tabela de mapa COM com a macro COM_INTERFACE_ENTRY ou uma de suas variantes. Por exemplo, o código a seguir insere as interfaces IDispatch, IBeeper e ISupportErrorInfo na tabela de mapa COM:
BEGIN_COM_MAP(CBeeper)
COM_INTERFACE_ENTRY(IBeeper)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()
Consulte também
Referência
Fundamentos de objetos COM de ATL