Sdílet prostřednictvím


Komunikace mezi klientem a serverem

Mechanismus WinEvents umožňuje serverům snadno komunikovat s klienty Microsoft Active Accessibility. Klienti často shromažďují informace tak, že reagují na WinEvents (například na základě zaměření), ale mohou si kdykoli vyžádat informace ze serveru.

Aby klient požádal o informace o přístupném objektu, který generuje WinEvent, musí událost zpracovat a navázat připojení k příslušnému přístupnému objektu. K tomu klient provede následující šest kroků:

  • Server volá NotifyWinEvent generovat oznámení WinEvent pro každou změnu prvků uživatelského rozhraní.
  • Kód správy WinEvent v user určuje, jestli některé klientské aplikace zaregistrovaly funkci háku WinEvent pomocí SetWinEventHook a volá zaregistrovanou funkci zpětného volání.
  • Klient ve své funkci zpětného volání požaduje přístup k objektu, který vygeneroval událost voláním AccessibleObjectFromEvent nebo jiných funkcí načtení objektu s podporou přístupnosti. Další informace naleznete v tématu Načtení nepřístupného objektu.
  • Toto rozhraní API microsoftu pro usnadnění přístupu odesílá serverové aplikaci zprávu WM_GETOBJECT k načtení přístupného objektu.
  • V reakci na WM_GETOBJECTserverová aplikace buď vrátí nulu, nebo vrátí hodnotu, která funguje jako jednorázový odkaz na objekt, který vygeneroval událost.
  • Pokud server vrátí nulu, Microsoft Active Accessibility vytvoří objekt proxy a poskytne jeho adresu klientovi. V opačném případě microsoft Active Accessibility použije tento odkaz k načtení adresy rozhraní objektu, jako je IAccessible nebo IDispatch, a poskytne tuto adresu klientovi.

Jakmile má klient adresu rozhraní, může volat IAccessible vlastnosti a metody přístupného objektu k načtení informací.

V této části