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.