COM_INTERFACE_ENTRY2
Use este macro para desambiguar duas ramificações de herança.
COM_INTERFACE_ENTRY2( x, x2 )
Parâmetros
x
[in] o nome de uma interface que você deseja expor do objeto.x2
[in] o nome da ramificação de herança de x que é exposto.
Comentários
Por exemplo, se você seu objeto derivado da classe de duas interfaces duais, você exponha IDispatch usando COM_INTERFACE_ENTRY2 desde que IDispatch pode ser obtido de qualquer uma das interfaces.
Consulte para macros de COM_INTERFACE_ENTRY comentários sobre entradas de mapa COM.
Exemplo
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()
};
Requisitos
Cabeçalho: atlcom.h