Praktik Terbaik untuk Menggunakan Array Aman

Banyak metode antarmuka MICROSOFT UI Automation API mengambil argumen yang disebut array aman, dari jenis data SAFEARRAY . Topik ini menjelaskan praktik terbaik untuk menggunakan array aman dalam aplikasi Automation UI.

Klien

Semua array aman yang digunakan dengan metode API klien Automation UI adalah array satu dimensi berbasis nol. Untuk membuat array aman untuk metode klien Automation UI, gunakan fungsi SafeArrayCreateVector , dan untuk membaca dari dan menulis ke array yang aman, gunakan fungsi SafeArrayGetElement dan SafeArrayPutElement . Ketika Anda selesai menggunakan array yang aman, selalu hancurkan dengan menggunakan fungsi SafeArrayDestroy , baik Anda membuat array aman atau menerimanya dari metode klien Automation UI.

Beberapa metode Automation UI, termasuk metode pengambilan properti seperti GetCurrentPropertyValue, mengambil VARIANyang dapat berisi struktur POINT atau UiaRect . POINT dikemas ke dalam VARIAN sebagai array ganda yang aman (VT_R8) dengan anggota x di indeks 0, dan anggota y pada indeks 1. Demikian pula, UiaRect dikemas ke dalam VARIAN sebagai array ganda yang aman dengan anggota kiri, atas, lebar, dan tinggi pada indeks masing-masing 0 hingga 3. Untuk array struktur UiaRect , array aman berisi array berurutan empat ganda untuk setiap UiaRect. Anggota kiri, atas, lebar, dan tinggi dari indeks pendudukan UiaRect pertama 0 hingga 3, anggota persegi panjang kedua menempati indeks 4 sampai 7, dan sebagainya.

Antarmuka IUIAutomation mencakup metode berikut untuk mengonversi antara SAFEARRAY dan berbagai jenis data lainnya.

Metode Deskripsi
IUIAutomation::IntNativeArrayToSafeArray Mengonversi array bilangan bulat menjadi SAFEARRAY.
IUIAutomation::IntSafeArrayToNativeArray Mengonversi SAFEARRAY bilangan bulat menjadi array.
IUIAutomation::SafeArrayToRectNativeArray Mengonversi SAFEARRAY yang berisi koordinat persegi panjang ke array jenis RECT.

 

Penyedia

Penyedia harus menerapkan sejumlah metode antarmuka yang dipanggil Otomasi UI untuk mengambil informasi dari penyedia. Sering kali, informasi ini terdiri dari array nilai. Untuk mengembalikan array ke Automation UI, penyedia harus mengemas array ke dalam struktur SAFEARRAY . Elemen array harus dari jenis data yang diharapkan, dan harus muncul dalam urutan yang diharapkan.

Konseptual

Ringkasan Properti UI Automation

Dasar-Dasar UI Automation