Поделиться через


COM_INTERFACE_ENTRY2

Используйте этот макрос для устранения неоднозначности 2 ветвления наследования.

COM_INTERFACE_ENTRY2( x, x2 )

Параметры

  • x
    [in] Имя интерфейса необходимо предоставить доступ из объекта.

  • x2
    [in] Имя ветвления наследования, из которого x предоставить.

Заметки

Например, если необходимо создать производный объект класса из 2 сдвоенных интерфейсов, IDispatch которому предоставляется с помощью COM_INTERFACE_ENTRY2 поскольку IDispatch можно получить от одного из интерфейсов.

См. примечания о записях макросы COM_INTERFACE_ENTRY для сопоставления модели COM.

Пример

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()
};

Требования

Header: atlcom.h

См. также

Другие ресурсы

Макросы сопоставления модели COM

Макросы ATL