Delen via


Client/servercommunicatie

Het WinEvents mechanisme biedt een manier voor servers om eenvoudig te communiceren met Microsoft Active Accessibility-clients. Clients verzamelen vaak informatie door te reageren op WinEvents (bijvoorbeeld de volgende focus), maar ze zijn op elk gewenst moment vrij om informatie aan te vragen van een server.

Als u informatie wilt aanvragen voor een toegankelijk object dat een WinEvent genereert, moet een client de gebeurtenis verwerken en een verbinding tot stand brengen met het relevante toegankelijke object. Hiervoor voert de client de volgende zes stappen uit:

  • Een server roept NotifyWinEvent- aan om een WinEvent-melding te genereren voor elke wijziging in de elementen van de gebruikersinterface.
  • De WinEvent-beheercode in USER bepaalt of clienttoepassingen een WinEvent-hook-functie hebben geregistreerd met behulp van SetWinEventHook- en roept de geregistreerde callback-functie aan.
  • In de callback-functie vraagt de client toegang tot het object dat de gebeurtenis heeft gegenereerd door AccessibleObjectFromEvent aan te roepen of andere functies voor het ophalen van toegankelijke objecten. Zie Een IAccessible-object ophalenvoor meer informatie.
  • Deze Microsoft Active Accessibility API verzendt de servertoepassing een WM_GETOBJECT bericht om het toegankelijke object op te halen.
  • Als reactie op WM_GETOBJECTretourneert de servertoepassing nul of retourneert deze een waarde die fungeert als een eenmalige verwijzing naar het object dat de gebeurtenis heeft gegenereerd.
  • Als de server nul retourneert, maakt Microsoft Active Accessibility een proxyobject en geeft het bijbehorende adres aan de client. Anders gebruikt Microsoft Active Accessibility deze verwijzing om het adres van een objectinterface op te halen, zoals IAccessible of IDispatchen geeft dat adres aan de client.

Zodra de client een interfaceadres heeft, kan deze de eigenschappen en methoden van het toegankelijke object aanroepen om informatie op te halen.

In deze sectie