Implementación de CComObjectRootEx

CComObjectRootEx es esencial: todos los objetos ATL deben tener una instancia de CComObjectRootEx o CComObjectRoot en su herencia. CComObjectRootEx proporciona el mecanismo predeterminado de QueryInterface basado en entradas de mapa COM.

A través de su mapa COM, las interfaces de un objeto están expuestas a un cliente cuando el cliente realiza consultas para una interfaz. La consulta se realiza a través de CComObjectRootEx::InternalQueryInterface. InternalQueryInterface sólo maneja las interfaces en la tabla de mapa de COM.

Puede especificar las interfaces en la tabla de mapa de COM con la macro COM_INTERFACE_ENTRY o uno de sus variantes. Por ejemplo, el siguiente código de la ejemplo BEEPER entra las interfaces IDispatch, IBeepery ISupportErrorInfo en la tabla de mapa de COM

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