COM_INTERFACE_ENTRY2

COM_INTERFACE_ENTRY2 ( x, 2 x )

Parametri

x

[in] Il nome di un'interfaccia che si desidera esporre da vostro oggetto.

2 x

[in] Il nome del ramo eredità da cui è esposta x.

Osservazioni

Utilizzare questa macro per evitare ambiguità tra due rami di ereditarietà. Ad esempio, se si deriva l'oggetto classe da due interfacce duali, espongono IDispatch usando COM_INTERFACE_ENTRY2 poiché IDispatch possono essere ottenute da dei due delle interfacce.

Ad esempio, dall'esempio ATL COMMAP

classe COuter:
 nbsp; pubblica CChainBase, / / CChainBase deriva da / / IDispatch
   public IDispatchImpl < IOuter, & IID_IOuter, & LIBID_COMMAPLib) >,
   CComCoClass pubblica < COuter & CLSID_COuter >
{
pubblica:
   {COuter()}
   ...

BEGIN_COM_MAP(COuter)
      COM_INTERFACE_ENTRY2(IDispatch, IOuter)
   ...
   END_COM_MAP

}

Per osservazioni su voci mappa COM, vedere Le macro COM_INTERFACE_ENTRY.

Macro ATL e funzioni globali

Index