Похоже, что COM_INTERFACE_ENTRY_IID и COM_INTERFACE_ENTRY2_IID относятся к случаю, когда класс является производным от двух или более классов, каждый из которых происходит от общего интерфейса. Как это:
class CMyClass : public IPersistFile, public IPersistStream {
};
(и IPersistStream, и IPersistFile являются производными от IPersist).
Похоже, я могу включить либо
COM_INTERFACE_ENTRY_IID( __uuidof( IPersist ), IPersistFile )
или
COM_INTERFACE_ENTRY2_IID( __uuidof( IPersist ), IPersist, IPersistFile )
в карту COM моего класса, и она будет работать нормально.
Есть ли разница между этими двумя?