需要有关设计ATL inproc Server(dll)的建议,它既可作为事件的源,也可作为事件的汇

时间:2010-04-13 18:19:56

标签: events com atl

我需要设计一个ATL inproc服务器,除了公开方法和属性之外,还可以触发事件(源)并充当触发事件的第三方COM控件的接收器。我认为这是一个相当普遍的要求。我还可以预见在开始设计之前我想要阅读的几个“陷阱”。我的问题/疑虑是:

  1. 有人能指点我一个例子吗?
  2. 使用哪种线程模型?
  3. 我应该为接收器配备单独的COM对象吗?
  4. 我应该如何保护某些记忆。例如,我的服务器将从第三方控件接收数据。它将保存这个,并在某些情况下,向感兴趣的客户发起一个事件。感兴趣的客户将通过标准方法或财产请求数据。我确实试过自己研究一下。我可以找到很多COM服务器的例子,有些是下沉,但从来没有。我发现的唯一一个帖子是: http://www.generation-nt.com/us/atl-control-an-event-source-sink-help-9098542.html 强烈主张将接收器放在单独的COM对象上。
  5. 任何线索,教程或想法都将非常感激。 谢谢, 安德鲁

1 个答案:

答案 0 :(得分:0)

检查ATL连接点,它将处理锅炉板代码。此链接提供了一个俯视图和示例代码:http://msdn.microsoft.com/en-us/library/h7kad5hw(v=vs.90).aspx