Implementando CComObjectRootEx

CComObjectRootEx é essencial — Tudo objetos ATL devem ter uma instância de CComObjectRootEx ou CComObjectRoot na sua herança. CComObjectRootEx fornece o mecanismo de QueryInterface padrão com base em entradas de mapa COM.

Através de seu mapa de COM, interfaces de um objeto são expostas a um cliente quando o cliente consulta para uma interface. A consulta é executada através de CComObjectRootEx::InternalQueryInterface. InternalQueryInterface apenas lida COM a tabela do mapa com as interfaces.

Você pode inserir interfaces na tabela COM mapa com a macro COM_INTERFACE_ENTRY ou uma de suas variantes. Por exemplo, o seguinte código do BEEPER exemplo insere as interfaces IDispatch, IBeepere ISupportErrorInfo em COM a tabela do mapa com as

BEGI&N_COM_MAP(CBeeper)
 nbsp; COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY(IBeeper)
   COM_INTERFACE_ENTRY_TEAR_OFF (IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP)

Index