COM_INTERFACE_ENTRY2 ( x 2 x, )
Параметры
x
[в] Имя интерфейса, вы хотите получить от вашего объекта.
x 2
[в] Имя наследования филиала, с которого подвергается x.
Примечания
Используйте этот макрос для устранения неоднозначности две ветви наследования. Например, если класс является производным класса объекта из двух сдвоенных интерфейсов, вы открываете с использованием COM_INTERFACE_ENTRY2 , так как IDispatch можно получить из любой из интерфейсов IDispatch.
К примеру, от образца ATL COMMAP
класс COuter:
nbsp; государственные CChainBase / / CChainBase является производным от / / IDispatch
государственные IDispatchImpl < IOuter, & IID_IOuter, & LIBID_COMMAPLib) >,
государственные CComCoClass < COuter и CLSID_COuter >
{
общественности:
COuter() {}
...
BEGIN_COM_MAP(COuter)
COM_INTERFACE_ENTRY2(IDispatch, IOuter)
...
END_COM_MAP
}
Увидеть COM_INTERFACE_ENTRY макросы для замечаний о записи сопоставления COM.