Interface iDispatch e acessibilidade
A interface IDispatch foi inicialmente projetada para dar suporte à Automação. Ele fornece um mecanismo de associação tardia para acessar e recuperar informações sobre os métodos e propriedades de um objeto. Anteriormente, os desenvolvedores de servidores tinham que implementar as interfaces IDispatch e IAccessible para seus objetos acessíveis; ou seja, eles tinham que fornecer uma interface dupla. Com o Microsoft Active Accessibility 2.0, os servidores podem retornar E_NOTIMPL de métodos IDispatch e o Microsoft Active Accessibility implementará a interface IAccessible para eles.
Além dos métodos herdados do IUnknown, os desenvolvedores de servidores devem implementar os seguintes métodos na definição de classe de cada objeto exposto:
- GetTypeInfoCount retorna o número de descrições de tipo para o objeto. Para objetos que dão suporte a IDispatch, a contagem de informações de tipo é sempre uma.
- GetTypeInfo recupera uma descrição da interface programável do objeto.
- GetIDsOfNames mapeia o nome de um método ou propriedade para um DISPID, que posteriormente é usado para invocar o método ou a propriedade.
- Invocar chama um dos métodos do objeto ou obtém ou define uma de suas propriedades.