2016-06-21 2 views
-4

Я прочитал и увидел пример для COM, но я не мог четко добраться Интерфейс разница.В чем разница между IDispatch и IUnkown в COM?

+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) и [здесь] (https : //msdn.microsoft.com/en-us/library/windows/desktop/ms680509%28v=vs.85%29.aspx) – molbdnilo

ответ

1

IUnkown - это базовый интерфейс для всех интерфейсов COM.

IDispatch предоставляет интерфейс для объектов, методов и свойств для инструментов программирования и других приложений, которые поддерживают автоматизацию.

-1

Интерфейс IDispatch наследуется от интерфейса IUnknown. Пожалуйста, ознакомьтесь с приведенной ниже ссылкой.

IDispatch

IUnknown

3

IUnknown является первичным COM-интерфейса. Он предоставляет базовую возможность «бросать» экземпляр COM-объекта на любой из его поддерживаемых интерфейсов (QueryInterface).

IDispatch основывается на IUnknown, добавляя средство для обнаружения во время выполнения атрибутов и интерфейсов, поддерживаемых указанным COM-объектом. Это позволяет связывание и динамическое связывание. Рефериальное отражение. С помощью IDispatch приложение может обнаруживать возможности компонентов и вызывать обнаруженные методы (которые упрощенно называются автоматизацией).

См. Implementing the IDispatch Interface [Automation] на MSDN.