1

我不是组件对象模型 (COM) 方面的专家,但据我了解,它的工作原理如下:程序 A(“服务器”程序)通过 TLB 文件公开 COM 接口。客户端程序使用这个接口并调用它的函数(所有底层的东西都是免费为你完成的)。所以在这种情况下,当“服务器”程序正在运行并且“客户端”程序使用 COM 对象与“服务器”通信时。每个程序(进程)都有自己的地址空间。现在有了 MSXML,情况就有些不同了。据我了解,msxmlX.dll 是一个 COM dll,但可以说当我在运行时隐式链接它(使用 msxmlX.h 和 msxmlX.lib)时,它被加载到与我的可执行文件相同的内存空间。所以,

4

1 回答 1

1

您可以在进程中、进程外或完全在另一台机器上创建 COM 对象。选择哪个取决于您的要求。

COM 旨在使软件组件可重用且与语言无关。正如您所假设的,这不仅仅是一种促进 IPC 的机制。

于 2013-07-23T13:34:32.733 回答