Не подскажет ли кто, REFIID какого интерфейса передается в методе FindConnectionPoint интерфейса IConnectionPointContainer. То есть если у меня есть объект Source с n интерфейсами и объект Sink, реализующий интерфейс с callback методами для событий, которые генерятся методами i-го интерфейса Source, то в качестве riid должен передаваться REFIID этого самого i-го интерфейса?
Заранее благодарен
Чернов Евгений
Re: Connection Point
От:
Аноним
Дата:
13.11.01 13:18
Оценка:
Здравствуйте Cory, Вы писали:
C>Здравствуйте
C>Не подскажет ли кто, REFIID какого интерфейса передается в методе FindConnectionPoint интерфейса IConnectionPointContainer. То есть если у меня есть объект Source с n интерфейсами и объект Sink, реализующий интерфейс с callback методами для событий, которые генерятся методами i-го интерфейса Source, то в качестве riid должен передаваться REFIID этого самого i-го интерфейса?
В качестве REFIID передается IID callback-интерфейса.
C>Заранее благодарен C>Чернов Евгений
Re: Connection Point
От:
Аноним
Дата:
13.11.01 13:18
Оценка:
Здравствуйте Cory, Вы писали:
C>Здравствуйте
C>Не подскажет ли кто, REFIID какого интерфейса передается в методе FindConnectionPoint интерфейса IConnectionPointContainer. То есть если у меня есть объект Source с n интерфейсами и объект Sink, реализующий интерфейс с callback методами для событий, которые генерятся методами i-го интерфейса Source, то в качестве riid должен передаваться REFIID этого самого i-го интерфейса?
C>Заранее благодарен C>Чернов Евгений
Читай статью про Connection Points.
Здравствуйте Cory, Вы писали:
C>Здравствуйте
C>Не подскажет ли кто, REFIID какого интерфейса передается в методе FindConnectionPoint интерфейса IConnectionPointContainer.
Так того который необходимо подключить для обработки событий. Только не REFIID, а IID. REF — просто указывает, что параметр передается по ссылке.
C>То есть если у меня есть объект Source с n интерфейсами и объект Sink, реализующий интерфейс с callback методами для событий, которые генерятся методами i-го интерфейса Source, то в качестве riid должен передаваться REFIID этого самого i-го интерфейса?
В общем да. Только Source оутгоинг-интерфесы не реализует, а аписывает в своей tlb.
Твой же обект должен реализовать оутгоинг-интерфейс и обеспечить его получение через QI, так как ConnectionPoint, при адвайзе, будет запрашивать указатель именно через QI.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.