Implementieren von CComObjectRootEx

CComObjectRootEx ist wichtig — alle ATL-Objekte muss eine Instanz von CComObjectRootEx oder CComObjectRoot in ihr Erbe. CComObjectRootEx stellt den Standardmechanismus QueryInterface basierend auf COM-Zuordnungseinträgen.

Durch die COM-Zuordnung sind ein Objekt Schnittstellen an einen Client ausgesetzt, wenn der Client eine Schnittstelle abfragt. Die Abfrage erfolgt über CComObjectRootEx::InternalQueryInterface. InternalQueryInterface verarbeitet nur Schnittstellen in der COM-Zuordnungstabelle.

Sie können Schnittstellen in der COM-Zuordnungstabelle mit das COM_INTERFACE_ENTRY -Makro oder einer seiner Varianten eingeben. Beispielsweise der folgende code aus der BEEPER -Beispiel tritt die Schnittstellen IDispatch, IBeeperund ISupportErrorInfo in der COM-Zuordnungstabelle

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