Udostępnij za pośrednictwem


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.