Интерфейс IDispatch и специальные возможности
Интерфейс IDispatch изначально был разработан для поддержки автоматизации. Он предоставляет механизм поздней привязки для доступа к методам и свойствам объекта и получения сведений о нем. Ранее разработчикам серверов приходилось реализовывать интерфейсы IDispatch и IAccessible для своих доступных объектов; то есть они должны были предоставить двойной интерфейс. При использовании Microsoft Active Accessibility 2.0 серверы могут возвращать E_NOTIMPL из методов IDispatch , а Microsoft Active Accessibility реализует интерфейс IAccessible для них.
Помимо методов, унаследованных от IUnknown, разработчики серверов должны реализовать следующие методы в определении класса каждого объекта, который предоставляется:
- GetTypeInfoCount возвращает количество описаний типов для объекта . Для объектов, поддерживающих IDispatch, количество сведений о типе всегда равно одному.
- GetTypeInfo получает описание программируемого интерфейса объекта.
- GetIDsOfNames сопоставляет имя метода или свойства с DISPID, который затем используется для вызова метода или свойства.
- Метод Invoke вызывает один из методов объекта или получает или задает одно из его свойств.