c - 如何用原始 C 编写 COM 服务器?

标签 c com

我正在研究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/

相关文章:

c - C语言中有没有办法取消连接?

c - 在 C 中完全更改文件内容的最佳方法是什么?

sql-server - 当表非空时从 SQL Server 接收自动通知

.net - 无法转换Office Interop Word的COM对象

c++ - 哪个是 IErrorInfo 版本的正确处理

找不到我从排序数组构建平衡二叉树时的错误(段错误)

c - 启用 gcc 对文字字符溢出的警告

c - 未分配的字符串如何存储在内存中以及如何引用它?

com - 如何使用 ITypeInfo 指针来获取类型的名称?

.net - 我可以在使用 .Net WebBrowser 控件时检测错误吗?