Bagikan melalui


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 diannotasikan.
  2. Panggil QueryInterface pada elemen yang dapat diakses untuk mendapatkan penunjuk antarmuka IAccIdentity .
  3. Panggil IAccIdentity::GetIdentityString() pada penunjuk antarmuka IAccIdentity untuk mendapatkan string yang secara unik mengidentifikasi elemen yang dapat diakses yang akan diannotasi.
  4. Gunakan CoCreateInstance atau CoCreateInstanceEx untuk membuat objek IAccPropServices .
  5. Buat objek Model Objek Komponen (COM) yang mengimplementasikan IAccPropServer.
  6. Panggil IAccPropServices::SetPropServer, melewati string identitas, GUID yang menunjukkan properti yang akan ditimpa, dan penunjuk ke objek panggilan balik IAccPropServer .
  7. Lepaskan penunjuk antarmuka dan memori bebas.

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 metode IAccPropServices::ComposeHwndIdentityString untuk mendapatkan string identitas; atau mereka dapat menggunakan metode IAccPropServices::SetHwndPropServer dan menentukan parameter hwnd, idObject, atau idChild alih-alih string identitas.

Saat menggunakan SetPropServer atau 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 diannotasikan secara langsung dengan menentukan nilai.

Properti Jenis
PROPID_ACC_NAME VT_BSTR
PROPID_ACC_DESCRIPTION VT_BSTR
PROPID_ACC_ROLE VT_I4
PROPID_ACC_STATE VT_I4
PROPID_ACC_HELP 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
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