Bagikan melalui


Komunikasi Klien/Server

Mekanisme WinEvents menyediakan cara bagi server untuk berkomunikasi dengan mudah dengan klien Aksesibilitas Aktif Microsoft. Klien sering mengumpulkan informasi dengan bereaksi terhadap WinEvents (misalnya, mengikuti fokus), tetapi mereka bebas meminta informasi dari server kapan saja.

Untuk meminta informasi untuk objek yang dapat diakses yang menghasilkan WinEvent, klien harus memproses peristiwa dan membuat koneksi dengan objek yang dapat diakses yang relevan. Untuk melakukan ini, klien melakukan enam langkah berikut:

  • Server memanggil NotifyWinEvent untuk menghasilkan pemberitahuan WinEvent untuk setiap perubahan pada elemen antarmuka penggunanya.
  • Kode manajemen WinEvent di USER menentukan apakah ada aplikasi klien yang telah mendaftarkan fungsi hook WinEvent menggunakansetWinEventHookdan memanggil fungsi panggilan balik terdaftar.
  • Dalam fungsi panggilan baliknya, klien meminta akses ke objek yang menghasilkan peristiwa dengan memanggil accessibleObjectFromEvent atau fungsi pengambilan objek lain yang dapat diakses. Untuk informasi selengkapnya, lihat Mengambil Objek IAccessible.
  • API Aksesibilitas Aktif Microsoft ini mengirimkan pesan WM_GETOBJECT kepada aplikasi server untuk mengambil objek yang dapat diakses.
  • Sebagai respons terhadap WM_GETOBJECT, aplikasi server mengembalikan nol atau mengembalikan nilai yang bertindak sebagai referensi satu kali ke objek yang menghasilkan peristiwa.
  • Jika server mengembalikan nol, Microsoft Active Accessibility membuat objek proksi dan memberikan alamatnya kepada klien. Jika tidak, Microsoft Active Accessibility menggunakan referensi ini untuk mengambil alamat antarmuka objek seperti IAccessible atau IDispatch, dan memberikan alamat tersebut kepada klien.

Setelah klien memiliki alamat antarmuka, klien dapat memanggil propertiIAccessible dan metode objek yang dapat diakses untuk mengambil informasi.

Di bagian ini