原文地址: http://www.vckbase.com/document/viewdoc/?id=1538
二、原理
1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。
2、管理这些连接点的接口叫“连接点容器”(IConnectionPointContainer)。
连接点容器就俩接口函数FindConnectionPoint() EnumConnectionPoints()
3、每一个连接点,可以被多个客户端的接收器(Sink)连接(上一章)
三、实现组件(一)
四、实现调用者(一)
五、示例(二)
六、小结
连接点,尤其是双接口的连接点,在远程(DCOM)环境上运行效率是比较低的。如果你只想完成简单的“通知”功能,那么前一回中的“回调接口”是一个明智的方案,并且可以运行在DCOM环境上。连接点方案当然也很重要,因为微软的许多应用程序(IE、Office......)都支持连接点,并且 ActiveX 只能通过连接点接口提供“事件”功能。
1.创建工程时候 选择连接点, (如果想加入多个连接点,则自己在.idl文件里面自己录入)
2.然后在连接点Events的接口上加函数,
3.然后在我们的类上面右键创建点连接,选择要实现的连接点
4.在我们的类里面创建新的函数,
该函数完成所需功能后,将数据传递给实现连接点时产生的函数Fire_XXXX
在客户端实现对上面创建的ATL类的继承与实现
Invoke函数内 根绝实现连接点时产生的函数Fire_XXXX 的ID指去获取数据。