У нас проблема с интерфейсами обратного вызова точки подключения COM.
В нашем Sample.idl у нас есть несколько интерфейсов обратного вызова ISomeEvents
interface ISomeEvents : IUnknown
{
HRESULT Event1([in]int nData);
HRESULT Event2([in]int nData);
HRESULT Event3([in]int nData);
}
And in the CoClass we have the following statement
coclass MyComp
{
[default] interface IMyInterface;
interface IMyInterFace2;
[default, source] interface ISomeEvents;
};
Теперь всякий раз, когда мы добавляем новые интерфейсы как часть улучшения, это не нарушает работу существующего клиента, но если расширение имеет какие-либо модификации для обратного вызова, то в конечном итоге мы обновляем интерфейс ISomeEvents, что нарушает работу существующих клиентов, мы вынуждены это сделать. потому что я думаю, что у нас может быть только один интерфейс [по умолчанию, источник].
Может ли кто-нибудь сказать мне, каков обходной путь для этого?
С уважением, Том