Implementazione di CComObjectRootEx
CComObjectRootEx è essenziale. Tutti gli oggetti ATL devono avere un'istanza di CComObjectRootEx
o CComObjectRoot nell'ereditarietà. CComObjectRootEx
fornisce il meccanismo QueryInterface
predefinito basato sulle voci della mappa COM.
Tramite la mappa COM, le interfacce di un oggetto vengono esposte a un client quando quest'ultimo esegue una query per un'interfaccia. La query viene eseguita mediante CComObjectRootEx::InternalQueryInterface
. InternalQueryInterface
gestisce solo le interfacce nella tabella di mappe COM.
È possibile immettere le interfacce nella tabella della mappa COM con la macro COM_INTERFACE_ENTRY o una delle relative varianti. Ad esempio, il codice seguente inserisce le interfacce IDispatch
, IBeeper
e ISupportErrorInfo
nella tabella di mappe COM:
BEGIN_COM_MAP(CBeeper)
COM_INTERFACE_ENTRY(IBeeper)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()
Vedi anche
Nozioni fondamentali sugli oggetti COM ATL
Macro di mappa COM