描述:
在我看来,把一个Sink指针传到组件里面不就完了吗,为什么要这么多罗索。
解决方案1:
up
解决方案2: IUnknown *pun;
IConnectionPointContainer * pCPC;
IConnectionPoint pCP;
1.首先:要实现连接点在客户实现一个回调接收类CSink.
2.调用时要与服务端建立连接,就是调用Advise函数.
pCP->Advise(pun,&dwadvise);
3.Advise为IConnectionPoint接口的函数.
4.IConnectionPoint接口由IConnectionPointContainer可得到.
pCPC->FindConnectionPoint(IID__IXXXXEvents,&pCP);
5.FindConnectionPoint为IConnectionPointContainer的函数.
所以IConnectionPointContainer找出连接点接口(出接口).
IConnectionPoint实现连接点的连接。
为了兼容vbs等脚本语言是很浪费
没发送一次事件,要9个来回
如果只定位在vc,直接传个 接口指针就行了
看看 <com 高手心经>
IConnectionPointContainer 是用来管理IConnectionPoint接口的接口。
详见msdn
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/htm/cmi_c_5h2q.asp
http://www.vclightning.net/list.asp?articleid=25