我有一个进程外ATL COM服务器(exe)。当它由客户端启动时,服务器产生一个工作线程轮询一些数据。每次数据更新时,我都想通知所有客户端更新的值。OOP COM服务器更新客户端
我已经创建了一个COM客户端,它通过CoCreateInstanceEx连接,创建它的Sink对象,获取连接点并调用Advise,全部没有错误。但是,当服务器尝试Fire_event时,它的IConnectionPointImpl :: m_vec为空,并且不会通知客户端。
我认为这是因为服务器创建自己的对象,所以我最终得到两个IConnectionPointImpl :: m_vec实例,一个来自服务器,另一个来自客户端调用Advise时。我怎样才能获得服务器数据给客户端?
我想你必须找出事件为什么被触发的对象不同于为客户端创建的对象,以及为什么有多个对象放在首位。 – sharptooth