Implémenter CComObjectRootEx
CComObjectRootEx est essentiel. Tous les objets ATL doivent avoir une instance de CComObjectRootEx ou de CComObjectRoot dans leur héritage. CComObjectRootEx fournit le mécanisme QueryInterface par défaut en fonction des entrées de la mappe COM.
Via sa mappe COM, les interfaces d'un objet sont exposées à un client quand celui-ci émet une requête pour une interface. La requête est effectuée via CComObjectRootEx::InternalQueryInterface. InternalQueryInterface gère seulement des interfaces dans le tableau de mappage COM.
Vous pouvez entrer des interfaces dans le tableau de mappage COM avec la macro COM_INTERFACE_ENTRY ou avec une de ses variantes. Par exemple, le code suivant entre les interfaces IDispatch, IBeeper et ISupportErrorInfo dans le tableau de mappage COM :
BEGIN_COM_MAP(CBeeper)
COM_INTERFACE_ENTRY(IBeeper)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()
Voir aussi
Référence
Notions de base des objets COM ATL