Freigeben über


Implementing CComObjectRootEx

CComObjectRootEx ist wesentlich; alle ATL-Objekte müssen über eine Instanz von CComObjectRootEx oder CComObjectRoot bei der Vererbung verfügen. CComObjectRootEx bietet den standardmäßigen QueryInterface-Mechanismus basierend auf COM-Zuordnungseinträgen.

Ü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 verarbeitet nur Schnittstellen in der COM-Zuordnungstabelle.

Mit dem Makro COM_INTERFACE_ENTRY oder mit einer dessen Varianten können Sie Schnittstellen in die COM-Zuordnungstabelle 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

Referenz

Fundamentals of ATL COM Objects

Weitere Ressourcen

COM Map Macros