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.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk