Array kemampuan nilai

Array kemampuan nilai berisi informasi tentang penggunaan nilai yang didukung oleh koleksi tingkat atas untuk jenis laporan HID tertentu. Informasi tentang array kemampuan nilai koleksi terkandung dalam struktur HIDP_CAPS .

Aplikasi mode pengguna atau driver mode kernel menggunakan salah satu rutinitas dukungan HIDClass berikut untuk mendapatkan informasi kemampuan tombol:

  • HidP_GetValueCaps mengembalikan array kemampuan nilai yang menjelaskan semua nilai yang terkandung dalam jenis laporan yang ditentukan pemanggil.

  • HidP_GetSpecificValueCaps memfilter informasi kemampuan nilai yang dikembalikannya oleh halaman penggunaan, penggunaan, pengumpulan tautan, dan jenis laporan yang ditentukan penelepon.

Array kemampuan nilai berisi struktur HIDP_VALUE_CAPS, yang masing-masing menjelaskan informasi berikut tentang penggunaan atau rentang penggunaanHID:

  • Halaman penggunaan untuk rentang penggunaan atau penggunaan

  • ID laporan laporan yang berisi nilai

  • ID penggunaan atau rentang penggunaan

  • Menunjukkan apakah penggunaan adalah penggunaan alias

  • Informasi tentang kumpulan tautan yang berisi rentang penggunaan atau penggunaan

  • Ukuran, dalam bit, nilai, dan jumlah laporan (yang merupakan jumlah nilai individual yang dijelaskan oleh struktur)

  • Atribut dari setiap nilai, termasuk: apakah nilainya null, unit dan eksponennya, serta rentang logis dan fisiknya

  • Informasi tentang deskriptor string dan pendesain yang terkait dengan penggunaan atau rentang penggunaan

  • Informasi tentang indeks data yang ditetapkan pengurai HID untuk penggunaan atau rentang penggunaan

Secara umum, kondisi berikut berlaku untuk semua penggunaan yang dijelaskan oleh array kemampuan nilai:

  • Setiap struktur kemampuan mewakili penggunaan, rentang penggunaan, atau array nilai penggunaan yang terkait dengan item utama variabel. Item utama array tidak didukung untuk nilai.

  • Penggunaan alias dapat digunakan. Rentang penggunaan tidak dapat diabaikan. Nilai alias ditautkan bersama-sama dalam array kemampuan nilai dengan cara yang sama seperti tombol alias seperti yang ditautkan bersama dalam array kemampuan tombol. Lihat Penggunaan Tombol dalam Item Utama Variabel.

  • Pengurai HID hanya menggunakan penggunaan minimum yang diperlukan untuk menetapkan penggunaan ke setiap nilai. Pengurai menetapkan penggunaan dalam urutan yang ditentukan dalam deskriptor laporan. Penggunaan dalam deskriptor laporan yang tidak diperlukan, dibuang. Array kemampuan nilai tidak berisi informasi apa pun tentang penggunaan yang dibuang.

  • Pengurai HID menetapkan indeks data unik untuk setiap penggunaan yang dijelaskan dalam array kemampuan.

Untuk deskripsi tentang bagaimana indeks data ditetapkan ke nilai, lihat Indeks Data.

Array nilai penggunaan

Array nilai penggunaan adalah sekumpulan nilai berturut-turut yang ditentukan dalam item utama, yang semuanya diberi penggunaan yang sama. Ini terjadi jika hanya satu penggunaan yang ditentukan untuk item utama yang jumlah laporannya lebih besar dari satu.

Gambar berikut menunjukkan contoh array nilai penggunaan yang berisi lima item data, masing-masing panjang enam bit.

Diagram yang mengilustrasikan array nilai penggunaan yang berisi lima item data, masing-masing memiliki panjang 6 bit.

Dalam contoh sebelumnya, struktur kemampuan nilai untuk array nilai penggunaan tersebut akan mengatur anggota IsRange-nya ke FALSE, anggota NotRange.Usage-nya diatur ke 17, anggota ReportCount-nya diatur ke 5, dan anggota BitSize-nya diatur ke 6.

Jika jumlah laporan untuk penggunaan adalah 1, gunakan HidP_GetUsageValue untuk mengekstrak nilai penggunaan. Jika jumlah laporan penggunaan lebih besar dari 1, HidP_GetUsageValue hanya mengembalikan item data pertama dalam array nilai penggunaan. Untuk mengekstrak semua item data dalam array nilai penggunaan, gunakan HidP_GetUsageValueArray.