Condividi tramite


COM_INTERFACE_ENTRY2

Utilizzare questa macro per evitare ambiguità due branch di ereditarietà.

COM_INTERFACE_ENTRY2( x, x2 )

Parametri

  • x
    [in] il nome di un'interfaccia che si desidera esporre dall'oggetto.

  • x2
    [in] il nome del ramo di ereditarietà da cui x è esposta.

Note

Ad esempio, se si deriva l'oggetto di classe da due interfacce duali, espone IDispatch utilizzando COM_INTERFACE_ENTRY2 poiché IDispatch può essere ottenuto mediante uno una delle interfacce.

Vedere Macro COM_INTERFACE_ENTRY per le osservazioni sulle voci della mappa COM.

Esempio

class ATL_NO_VTABLE CEntry2Example :
   public CEntry2ExampleBase, // CEntry2ExampleBase derives from IDispatch
   public IDispatchImpl<IEntry2Example, &IID_IEntry2Example, &LIBID_NVC_ATL_WindowingLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
   public CComCoClass<CEntry2Example, &CLSID_Entry2Example>
{
public:
   CEntry2Example()
   {
   }

BEGIN_COM_MAP(CEntry2Example)
   COM_INTERFACE_ENTRY(IEntry2Example)
   COM_INTERFACE_ENTRY2(IDispatch, IEntry2Example)
END_COM_MAP()
};

Requisiti

Header: atlcom.h

Vedere anche

Altre risorse

COM Map Macros

Macro ATL