Menggunakan Anotasi Server

Topik ini menyediakan informasi tentang menggunakan anotasi server untuk menentukan objek panggilan balik.

Untuk mengambil alih properti yang menentukan objek panggilan balik

  1. Dapatkan penunjuk antarmuka IAccessible ke elemen yang dapat diakses yang akan dianotasi.
  2. Panggil QueryInterface pada elemen yang dapat diakses untuk mendapatkan penunjuk antarmuka IAccIdentity.
  3. Panggil IAccIdentity::GetIdentityString() pada IAccIdentity penunjuk antarmuka untuk mendapatkan string yang secara unik mengidentifikasi elemen yang dapat diakses yang akan dianotasi.
  4. Gunakan CoCreateInstance atau CoCreateInstanceEx untuk membuat objekIAccPropServices.
  5. Buat objek Model Objek Komponen (COM) yang mengimplementasikan IAccPropServer.
  6. Panggil IAccPropServices::SetPropServer, dengan meneruskan string identitas, GUID yang menunjukkan properti yang akan ditimpa, dan penunjuk ke objek panggilan balik IAccPropServer.
  7. Lepaskan pointer antarmuka dan bebaskan memori.

Ketika klien meminta properti elemen yang dapat diakses, objek panggilan balik akan dipanggil dan akan mengembalikan nilai ke klien.

Seperti saat menentukan nilai, pengembang server dapat menggunakan metodeIAccPropServices::ComposeHwndIdentityString untuk mendapatkan string identitas; atau mereka dapat menggunakan metode IAccPropServices::SetHwndPropServer dan menentukan hwnd, idObject, atau parameter idChild alih-alih string identitas.

Saat menggunakanSetPropServeratau SetHwndPropServer pada objek kontainer, pengembang server dapat secara opsional menentukan bahwa informasi penggantian juga harus berlaku untuk semua turunan elemen kontainer tersebut.

Server dapat secara eksplisit menghapus anotasi kapan saja dengan menggunakan IAccPropServices::ClearProps. Ini biasanya tidak diperlukan, karena layanan anotasi akan secara otomatis membersihkan dan merilis informasi anotasi ketika elemen yang dapat diakses yang dianotasikan menghilang.

Di bawah ini adalah daftar properti yang dapat diannotasi menggunakan prosedur ini.

Properti yang Didukung Saat Menentukan Panggilan Balik

Saat menentukan panggilan balik, properti berikut dapat dianotasi. Saat ini properti ini tidak dapat dianotasi secara langsung dengan menentukan nilai.

Harta benda Jenis
PROPID_ACC_NAME VT_BSTR
PROPID_ACC_DESCRIPTION VT_BSTR
PROPID_ACC_ROLE VT_I4
PROPID_ACC_STATE VT_I4
PROPID_ACC_BANTUAN VT_BSTR
PROPID_ACC_KEYBOARDSHORTCUT VT_BSTR
PROPID_ACC_DEFAULTACTION VT_BSTR
PROPID_ACC_VALUEMAP VT_BSTR
PROPID_ACC_ROLEMAP VT_BSTR
PROPID_ACC_STATEMAP VT_BSTR
PROPID_ACC_FOCUS VT_DISPATCH
VT_I4
PROPID_ACC_SELECTION VT_DISPATCH
VT_I4
VT_UNKNOWN
PROPID_ACC_PARENT VT_DISPATCH
PROPID_ACC_NAV_UP VT_DISPATCH
VT_I4
PROPID_ACC_NAV_DOWN VT_DISPATCH
VT_I4
PROPID_ACC_NAV_LEFT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_RIGHT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_PREV VT_DISPATCH (Pemanggilan VT)
VT_I4
PROPID_ACC_NAV_NEXT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_FIRSTCHILD VT_DISPATCH
VT_I4
PROPID_ACC_NAV_LASTCHILD VT_DISPATCH
VT_I4