Condividi tramite


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