2016-06-21 210 views
-4

我已经看过COM的例子,但是我不能清楚地看到的接口的区别。COM中IDispatch和IUnkown有什么区别?

+0

欢迎来到StackOverflow。请阅读:http://stackoverflow.com/help/how-to-ask您应至少展示您尝试自行获得答案的内容。 – harper

+0

您还应该阅读文档[此处](https://msdn.microsoft.com/en-us/library/windows/desktop/ms221608%28v=vs.85%29.aspx)和[here](https ://msdn.microsoft.com/en-us/library/windows/desktop/ms680509%28v=vs.85%29.aspx) – molbdnilo

回答

1

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

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

-1

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

IDispatch

IUnknown

3

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

IDispatch建立在IUnknown的基础上,增加了在运行时发现指定COM对象所支持的属性和接口的功能。这允许后期绑定和动态绑定。各种各样的补救反映。借助IDispatch,应用程序可以发现组件的功能并调用发现的方法(简称为自动化)。

请参阅MSDN上的Implementing the IDispatch Interface [Automation]