【发布时间】:2016-11-21 21:07:38
【问题描述】:
MSDN 提到C语言也可以用来创建和使用COM对象。
我通过 CodeProject here 发现相关的头文件被创建并且它们将被包含在调用这些 COM 接口的任何 C 应用程序中。
所有来自 Windows 的 COM 对象都会有类似的相关头文件吗?
或者还有其他方法可以从 C 调用 COM 接口吗?
【问题讨论】:
-
如果正确构建,可能由接口定义语言编译器 (MIDL) 构建,那么是的,会有相应的 C 接口定义。你已经在正确的轨道上。并且仅供参考,来自 C 的 COM 是一个 f'ing 痛苦,但它仍然是可行的。
-
COM 设计可以从 C 中调用。如果缺少相应的头文件,您将不得不手动重建 lpVtbl。条目按照它们声明的顺序排序,基本接口在前。
-
有可能,但是这种做法被《日内瓦程序员权利公约》禁止。我们在这里订阅它,当您遇到麻烦时,您很少会得到有用的帮助。你会遇到麻烦的。