Compartilhar via


Recuperando um objeto IAccessible

A Acessibilidade Ativa da Microsoft fornece funções como AccessibleObjectFromWindow e AccessibleObjectFromPoint que permitem que os clientes recuperem objetos acessíveis. Essas funções retornam um ponteiro de interface IDispatch ou IAccessible por meio do qual os clientes obtêm informações sobre o objeto acessível.

Quando um cliente chama AccessibleObjectFromWindow ou qualquer uma das outras funções AccessibleObjectFromX que recuperam uma interface para um objeto, o Microsoft Active Accessibility envia a mensagem de janela WM_GETOBJECT para o procedimento de janela aplicável dentro do aplicativo apropriado. Para fornecer informações aos clientes, os servidores devem responder à mensagem WM_GETOBJECT .

Para coletar informações específicas sobre um elemento de interface do usuário, os clientes devem primeiro recuperar uma interface IAccessible para o elemento . Para recuperar o objeto IAccessible de um elemento, os clientes podem usar uma das seguintes funções:

Para recuperar um ponteiro de interface IAccessible

  1. O cliente chama uma das funções AccessibleObjectFromX .

  2. Oleacc.dll envia uma mensagem WM_GETOBJECT para o servidor.

  3. O servidor determina qual elemento de interface do usuário corresponde à solicitação.

  4. O servidor retorna zero para solicitar um proxy Oleacc.dll,

    Ou

    Retorna um objeto IAccessible (implementação nativa). Para fazer isso, ele:

    • Constrói um objeto IAccessible para o elemento .
    • Chama LresultFromObject para realizar marshaling do ponteiro do objeto.
    • Retorna o LRESULT para Oleacc.dll.
  5. Oleacc.dll examina o valor retornado de WM_GETOBJECT.

    Se for zero, Oleacc.dll construirá um objeto proxy e o retornará ao cliente.

    Ou

    Se não for zero, Oleacc.dll chamará ObjectFromLresult para desmarcar o ponteiro de objeto IAccessible nativo e o retornará ao cliente.