IDispatch-Schnittstelle und Barrierefreiheit

Die IDispatch-Schnittstelle wurde ursprünglich für die Unterstützung von Automation entwickelt. Es bietet einen Mechanismus für die späte Bindung, um auf die Methoden und Eigenschaften eines Objekts zuzugreifen und Informationen darüber abzurufen. Zuvor mussten Serverentwickler sowohl die Schnittstellen IDispatch als auch IAccessible für ihre barrierefreien Objekte implementieren. Das heißt, sie mussten eine duale Schnittstelle bereitstellen. Mit Microsoft Active Accessibility 2.0 können Server E_NOTIMPL von IDispatch-Methoden zurückgeben, und Microsoft Active Accessibility implementiert die IAccessible-Schnittstelle für sie.

Zusätzlich zu den methoden, die von IUnknown geerbt werden, müssen Serverentwickler die folgenden Methoden innerhalb der Klassendefinition jedes verfügbar gemachten Objekts implementieren:

  • GetTypeInfoCount gibt die Anzahl der Typbeschreibungen für das Objekt zurück. Für Objekte, die IDispatch unterstützen, ist die Anzahl der Typinformationen immer eins.
  • GetTypeInfo ruft eine Beschreibung der programmierbaren Schnittstelle des Objekts ab.
  • GetIDsOfNames ordnet den Namen einer Methode oder Eigenschaft einer DISPID zu, die später zum Aufrufen der Methode oder Eigenschaft verwendet wird.
  • Invoke ruft eine der Methoden des Objekts auf oder ruft eine seiner Eigenschaften ab oder legt sie fest.