窗口消息v / s COM连接点

时间:2014-06-06 05:15:56

标签: winapi com

我想在同一台机器上运行的两个进程之间进行通信。 我不能奢侈地使用任何类型的通用IPC(例如共享内存,管道,套接字等)

我可以使用窗口消息在两个进程之间进行通信。

请建议使用COM连接点而不是窗口消息会更快。

COM连接点是否也基于窗口消息队列。

非常感谢任何帮助。

此致 阿希什

1 个答案:

答案 0 :(得分:2)

  

请建议使用COM连接点会更快   而不是窗口消息。

这在很大程度上取决于您如何使用Windows消息在进程之间进行通信。 对于像没有参数调用COM方法这样的简单情况,同步进程间调用比直接使用SendMessage更快,因为下面解释了原因。

  

COM连接点是否也基于窗口消息队列。

它不基于窗口消息队列。 COM连接点只是实现传出COM接口的约定。但是,当涉及在连接点接口上进行out-of-proc调用时,COM进程间编组器确实使用隐藏窗口和私有消息来编组调用。

这不是特定于连接点的,并且适用于您可能已缓存的任何COM代理接口。通常,您需要在客户端和服务器进程内部都有一个功能消息循环才能使其正常工作。