Как расширить или изменить уже опубликованный интерфейс COM - объекта в C++
У меня есть запрос на добавление нового метода в уже опубликованный COM-объект
interface ItestAutomationServer : IDispatch
добавьте еще один параметр out в существующий метод следующего интерфейса
interface ISinkNewAutomationTest : IUnknown
кто-нибудь знает, как это решить?
Что я уже пробовал:
Я унаследовал следующий и добавил новый метод
interface ItestAutomationServer1 : ItestAutomationServer
Я унаследовал следующее И добавил новый метод с этим дополнительным параметром
interface ISinkNewAutomationTest1 : ISinkNewAutomationTest
F-ES Sitecore
Не могу помочь со спецификой реализации, но обычно это делается с помощью переадресации интерфейса. Если вы добавите параметр к существующему методу, то он сломает объекты, уже скомпилированные против него. Поэтому вместо этого вы создаете новый метод на новом интерфейсе, который имеет соответствующие параметры, и оставляете единственный интерфейс на месте. Вы меняете старый интерфейс, чтобы вызвать новый интерфейс, чтобы старый код продолжал работать, и если интерфейс зарегистрирован правильно, любой код, скомпилированный против нового интерфейса, увидит дополнительный параметр.