我正在研究COM。我认为彻底了解 COM 的最好方法是编写一个没有任何 COM 框架(如 ATL)的程序。我已经用原始 C++ 编写了一个 COM 服务器,现在我想用纯原始 C 编写一个。我该怎么做?有教程吗?
非常感谢。
最佳答案
用 C 编写 COM 服务器并非不可能。只是 COM 代码已经很强大了,它在 C 中会更强大一些,因为您无法从兼容的 C++ 编译器生成的内置 v 表支持中获得帮助。或者像 ATL 这样的类库。你必须创造你自己的。
用 C 编写的 COM 示例代码的一个很好的来源是 WINE 项目。例如,implementation of the IGlobalInterfaceTable interface .请注意该代码中的 GITClassFactoryVtbl,它是类工厂的接口(interface)调度表,以及 StdGlobalInterfaceTableImpl_Vtbl,它是 IGlobalInterfaceTable 的调度表。
不确定这是否会让您对 COM 编程有更深入的了解。您不太可能像这样编写一个真正的服务器。您编写过进程外服务器了吗?
关于c - 如何用原始 C 编写 COM 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3013659/