Interfaz iDispatch y accesibilidad

La interfaz IDispatch se diseñó inicialmente para admitir la automatización. Proporciona un mecanismo de enlace en tiempo de ejecución para acceder y recuperar información sobre los métodos y propiedades de un objeto. Anteriormente, los desarrolladores de servidores tenían que implementar las interfaces IDispatch e IAccessible para sus objetos accesibles; es decir, tenían que proporcionar una interfaz dual. Con Microsoft Active Accessibility 2.0, los servidores pueden devolver E_NOTIMPL desde métodos IDispatch y Microsoft Active Accessibility implementarán la interfaz IAccessible para ellos.

Además de los métodos heredados de IUnknown, los desarrolladores de servidores deben implementar los métodos siguientes dentro de la definición de clase de cada objeto que se expone:

  • GetTypeInfoCount devuelve el número de descripciones de tipo para el objeto. En el caso de los objetos que admiten IDispatch, el recuento de información de tipos siempre es uno.
  • GetTypeInfo recupera una descripción de la interfaz programable del objeto.
  • GetIDsOfNames asigna el nombre de un método o propiedad a un DISPID, que posteriormente se usa para invocar el método o la propiedad.
  • La invocación llama a uno de los métodos del objeto, u obtiene o establece una de sus propiedades.