Implementieren von CComObjectRootEx

CComObjectRootEx ist unerlässlich. Alle ATL-Objekte müssen eine Instanz oder CComObjectRootExCComObjectRoot in ihrer Vererbung haben. CComObjectRootEx stellt den Standardmechanismus QueryInterface basierend auf COM-Zuordnungseinträgen bereit.

Über die COM-Zuordnung sind die Schnittstellen eines Objekts für einen Client verfügbar, wenn der Client nach einer Schnittstelle fragt. Die Abfrage wird mittels CComObjectRootEx::InternalQueryInterface durchgeführt. InternalQueryInterface behandelt nur Schnittstellen in der COM-Zuordnungstabelle.

Sie können Schnittstellen in die COM-Kartentabelle mit dem COM_INTERFACE_ENTRY Makro oder einer der zugehörigen Varianten eingeben. Mit dem folgenden Code werden beispielsweise die Schnittstellen IDispatch, IBeeper und ISupportErrorInfo in die COM-Zuordnungstabelle eingegeben:

BEGIN_COM_MAP(CBeeper)
   COM_INTERFACE_ENTRY(IBeeper)
   COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()

Siehe auch

Grundlagen von ARL COM-Objekten
COM-Zuordnungs-Makros