Condividi tramite


Recupero di un oggetto IAccessibile

Microsoft Active Accessibility offre funzioni come AccessibleObjectFromWindow e AccessibleObjectFromPoint che consentono ai client di recuperare oggetti accessibili. Queste funzioni restituiscono un puntatore dell'interfaccia IDispatch o IAccessibile tramite cui i client ottengono informazioni sull'oggetto accessibile.

Quando un client chiama AccessibleObjectFromWindow o una delle altre funzioni AccessibleObjectFromX che recuperano un'interfaccia a un oggetto, Microsoft Active Accessibility invia il messaggio della finestra di WM_GETOBJECT alla procedura di finestra applicabile all'interno dell'applicazione appropriata. Per fornire informazioni ai client, i server devono rispondere al messaggio di WM_GETOBJECT .

Per raccogliere informazioni specifiche su un elemento dell'interfaccia utente, i client devono prima recuperare un'interfaccia IAccessibile per l'elemento. Per recuperare l'oggetto IAccess di un elemento, i client possono usare una delle funzioni seguenti:

Per recuperare un puntatore dell'interfaccia IAccessibile

  1. Il client chiama una delle funzioni AccessibleObjectFromX .

  2. Oleacc.dll invia un messaggio WM_GETOBJECT al server.

  3. Il server determina l'elemento dell'interfaccia utente corrispondente alla richiesta.

  4. Il server restituisce zero per richiedere un proxy Oleacc.dll,

    Oppure

    Restituisce un oggetto IAccess (implementazione nativa). A tale scopo, è possibile:

    • Costruisce un oggetto IAccess per l'elemento.
    • Chiama LresultFromObject per eseguire il marshalling del puntatore dell'oggetto.
    • Restituisce LRESULT in Oleacc.dll.
  5. Oleacc.dll esamina il valore restituito da WM_GETOBJECT.

    Se è zero, Oleacc.dll costruisce un oggetto proxy e lo restituisce al client.

    Oppure

    Se è diverso da zero, Oleacc.dll chiama ObjectFromLresult per annullare il puntatore a oggetti IAccess nativo e lo restituisce al client.