Comunicazione client/server
Il meccanismo WinEvents consente ai server di comunicare facilmente con i client di Accessibilità attiva Microsoft. I client spesso raccolgono informazioni reagendo a WinEvents (ad esempio, seguendo lo stato attivo), ma sono liberi di richiedere informazioni da un server in qualsiasi momento.
Per richiedere informazioni per un oggetto accessibile che genera un winEvent, un client deve elaborare l'evento e stabilire una connessione con l'oggetto accessibile pertinente. A tale scopo, il client esegue i sei passaggi seguenti:
- Un server chiama NotifyWinEvent per generare una notifica WinEvent per ogni modifica agli elementi dell'interfaccia utente.
- Il codice di gestione WinEvent in USER determina se le applicazioni client hanno registrato una funzione di hookWinEvent usando SetWinEventHook e chiama la funzione di callback registrata.
- Nella sua funzione di callback, il client richiede l'accesso all'oggetto che ha generato l'evento chiamando AccessibleObjectFromEvent o altre funzioni di recupero di oggetti accessibili. Per altre informazioni, vedere Recupero di un oggetto IAccessibile.
- Questa API Di accessibilità attiva Microsoft invia all'applicazione server un messaggio di WM_GETOBJECT per recuperare l'oggetto accessibile.
- In risposta a WM_GETOBJECT, l'applicazione server restituisce zero o restituisce un valore che funge da riferimento una sola volta all'oggetto che ha generato l'evento.
- Se il server restituisce zero, Microsoft Active Accessibility crea un oggetto proxy e assegna il relativo indirizzo al client. In caso contrario, Microsoft Active Accessibility usa questo riferimento per recuperare l'indirizzo di un'interfaccia dell'oggetto, ad esempio IAccessibile o IDispatch, e fornisce tale indirizzo al client.
Una volta che il client ha un indirizzo di interfaccia, può chiamare le proprietà e i metodi IAccessi dell'oggetto accessibile per recuperare informazioni.
Contenuto della sezione