Реализация интерфейса источника в классе COM-сервера.
Вам следует внедрить IConnectionPointcontainer, если вы не используете ATL.
В клиентском классе вызовите COM-сервер, как указано ниже.
1. Вызовите FindConnectionPointContainer
2. Позвоните в FindConnectionPoint
3. Вызовите Advise для указателя интерфейса, возвращенного на шаге 2, мы должны предоставить IUnknown указатель объекта приемника. Advise возвращает cookie, чтобы мы могли использовать его при вызове неадекватного пользователя.
Для обработки событий вы можете сделать это двумя способами
один, использующий метод Invoke IDispatch для разрешения вызовов на стороне клиента
другое - сам сервер вызывает определенный метод Sink. Оба метода используют указатель IUnknown, который он получает, советуя.