В чем разница между IDispatch и IUnkown в COM?

Я прочитал и увидел пример для COM, но я не мог четко понять разницу в интерфейсе.

3 ответа

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

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

См. Внедрение интерфейса IDispatch [Автоматизация] в MSDN (воскрешено из WayBack Machine - текущая онлайн-версия).

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

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

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

IDispatch

IUnknown

Другие вопросы по тегам