2016-06-21 21 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]