Interfejs IDispatch i ułatwienia dostępu
Interfejs IDispatch został początkowo zaprojektowany do obsługi usługi Automation. Zapewnia on mechanizm opóźnionego powiązania w celu uzyskiwania dostępu do metod i właściwości obiektu oraz pobierania ich. Wcześniej deweloperzy serwerów musieli zaimplementować interfejsy IDispatch i IAccessible dla ich dostępnych obiektów; oznacza to, że musieli zapewnić podwójny interfejs. Dzięki usłudze Microsoft Active Accessibility 2.0 serwery mogą zwracać E_NOTIMPL z metod IDispatch, a usługa Microsoft Active Accessibility zaimplementuje interfejs IAccessible.
Oprócz metod dziedziczonych z IUnknowndeweloperzy serwerów muszą zaimplementować następujące metody w definicji klasy każdego uwidocznionego obiektu:
- GetTypeInfoCount zwraca liczbę opisów typów dla obiektu. W przypadku obiektów obsługujących IDispatchliczba informacji o typie jest zawsze jedna.
- GetTypeInfo pobiera opis programowalnego interfejsu obiektu.
- GetIDsOfNames mapuje nazwę metody lub właściwości na DISPID, która jest później używana do wywoływania metody lub właściwości.
- Invoke wywołuje jedną z metod obiektu lub pobiera lub ustawia jedną z jego właściwości.