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