Compartir a través de


Recuperar un objeto IAccessible

Accesibilidad activa de Microsoft proporciona funciones como AccessibleObjectFromWindow y AccessibleObjectFromPoint que permiten a los clientes recuperar objetos accesibles. Estas funciones devuelven un puntero de interfaz IDispatch o IAccessible a través del cual los clientes obtienen información sobre el objeto accesible.

Cuando un cliente llama a AccessibleObjectFromWindow o a cualquiera de las demás funciones AccessibleObjectFromX que recuperan una interfaz a un objeto, Microsoft Active Accessibility envía el mensaje de ventana de WM_GETOBJECT al procedimiento de ventana aplicable dentro de la aplicación adecuada. Para proporcionar información a los clientes, los servidores deben responder al mensaje WM_GETOBJECT .

Para recopilar información específica sobre un elemento de interfaz de usuario, los clientes deben recuperar primero una interfaz IAccessible para el elemento. Para recuperar el objeto IAccessible de un elemento, los clientes pueden usar una de las siguientes funciones:

Para recuperar un puntero de interfaz IAccessible

  1. El cliente llama a una de las funciones AccessibleObjectFromX .

  2. Oleacc.dll envía un mensaje WM_GETOBJECT al servidor.

  3. El servidor determina qué elemento de interfaz de usuario corresponde a la solicitud.

  4. El servidor devuelve cero para solicitar un proxy de Oleacc.dll,

    Or

    Devuelve un objeto IAccessible (implementación nativa). Para ello, haga lo siguiente:

    • Construye un objeto IAccessible para el elemento .
    • Llama a LresultFromObject para serializar el puntero del objeto.
    • Devuelve el LRESULT a Oleacc.dll.
  5. Oleacc.dll examina el valor devuelto de WM_GETOBJECT.

    Si es cero, Oleacc.dll construye un objeto proxy y lo devuelve al cliente.

    Or

    Si no es cero, Oleacc.dll llama a ObjectFromLresult para desmarshalar el puntero de objeto IAccessible nativo y lo devuelve al cliente.