COM中的IDispatch和IUnkown有什么区别?

时间:2016-06-21 06:51:02

标签: c++ visual-c++ com com-interface

我已阅读并看到了 COM 的示例,但我无法明确地达到接口的区别。

3 个答案:

答案 0 :(得分:3)

IUnknown 是原始COM接口。它提供了将COM对象实例“转换”为任何支持的接口(QueryInterface)的基本功能。

IDispatch 构建于IUnknown之上,添加工具以在运行时发现指定COM对象支持的属性和接口。这允许后期绑定和动态绑定。各种各样的补救反思。使用IDispatch,应用程序可以发现组件的功能并调用已发现的方法(简称为自动化)。

请参阅MSDN上的Implementing the IDispatch Interface [Automation](从WayBack Machine重新启动 - current online version)。

答案 1 :(得分:1)

IUnkown 是所有COM接口的基本接口。

IDispatch 向编程工具和支持自动化的其他应用程序公开了对象,方法和属性的接口。

答案 2 :(得分:-1)

IDispatch接口继承自IUnknown接口。 请看下面的链接。

IDispatch

IUnknown

相关问题