【发布时间】:2018-03-30 00:06:53
【问题描述】:
我已经阅读并看到了 COM 的示例,但我无法清楚地了解 Interface 的区别。
【问题讨论】:
-
欢迎来到 StackOverflow。请阅读:stackoverflow.com/help/how-to-ask您至少应该展示您自己尝试获得答案的内容。
标签: c++ visual-c++ com com-interface
我已经阅读并看到了 COM 的示例,但我无法清楚地了解 Interface 的区别。
【问题讨论】:
标签: c++ visual-c++ com com-interface
IUnknown 是原始 COM 接口。它提供了将 COM 对象的实例“转换”到它支持的任何接口 (QueryInterface) 的基本能力。
IDispatch 以 IUnknown 为基础,添加了在运行时发现指定 COM 对象支持的属性和接口的工具。这允许后期绑定和动态绑定。各种补救措施。使用 IDispatch,应用程序可以发现组件的功能并调用发现的方法(简单地称为自动化)。
参见 MSDN 上的 Implementing the IDispatch Interface [Automation](从 WayBack Machine 复活 - current online version)。
【讨论】:
IUnkown是所有COM接口的基本接口。
IDispatch 向编程工具和其他支持自动化的应用程序公开对象、方法和属性的接口。
【讨论】: