struktur HIDP_BUTTON_CAPS (hidpi.h)
Struktur HIDP_BUTTON_CAPS berisi informasi tentang kemampuan penggunaan tombol kontrol HID (atau sekumpulan tombol yang terkait dengan rentang penggunaan).
Sintaks
typedef struct _HIDP_BUTTON_CAPS {
USAGE UsagePage;
UCHAR ReportID;
BOOLEAN IsAlias;
USHORT BitField;
USHORT LinkCollection;
USAGE LinkUsage;
USAGE LinkUsagePage;
BOOLEAN IsRange;
BOOLEAN IsStringRange;
BOOLEAN IsDesignatorRange;
BOOLEAN IsAbsolute;
USHORT ReportCount;
USHORT Reserved2;
ULONG Reserved[9];
union {
struct {
USAGE UsageMin;
USAGE UsageMax;
USHORT StringMin;
USHORT StringMax;
USHORT DesignatorMin;
USHORT DesignatorMax;
USHORT DataIndexMin;
USHORT DataIndexMax;
} Range;
struct {
USAGE Usage;
USAGE Reserved1;
USHORT StringIndex;
USHORT Reserved2;
USHORT DesignatorIndex;
USHORT Reserved3;
USHORT DataIndex;
USHORT Reserved4;
} NotRange;
};
} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS;
Anggota
UsagePage
Menentukan halaman penggunaan untuk rentang penggunaan atau penggunaan.
ReportID
Menentukan ID laporan laporan HID yang berisi penggunaan atau rentang penggunaan.
IsAlias
Menunjukkan, jika TRUE, bahwa tombol memiliki sekumpulan penggunaan alias. Jika tidak, jika IsAliasFALSE, tombol hanya memiliki satu penggunaan.
BitField
Berisi bidang data (satu atau dua byte) yang terkait dengan input, output, atau item utama fitur.
LinkCollection
Menentukan indeks kumpulan tautan dalam array pengumpulan tautankoleksi tingkat atas yang berisi penggunaan atau rentang penggunaan. Jika LinkCollection nol, rentang penggunaan atau penggunaan terkandung dalam koleksi tingkat atas.
LinkUsage
Menentukan penggunaan kumpulan tautan yang berisi penggunaan atau rentang penggunaan. Jika LinkCollection nol, LinkUsage menentukan penggunaan koleksi tingkat atas.
LinkUsagePage
Menentukan halaman penggunaan kumpulan tautan yang berisi rentang penggunaan atau penggunaan. Jika LinkCollection nol, LinkUsagePage menentukan halaman penggunaan koleksi tingkat atas.
IsRange
Menentukan, jika TRUE, bahwa struktur menjelaskan rentang penggunaan. Jika tidak, jika IsRangeFALSE, struktur menjelaskan satu penggunaan.
IsStringRange
Menentukan, jika TRUE, bahwa rentang penggunaan atau penggunaan memiliki sekumpulan deskriptor string. Jika tidak, jika IsStringRangeFALSE, rentang penggunaan atau penggunaan memiliki nol atau satu deskriptor string.
IsDesignatorRange
Menentukan, jika TRUE, bahwa rentang penggunaan atau penggunaan memiliki sekumpulan penanda. Jika tidak, jika IsDesignatorRangeFALSE, rentang penggunaan atau penggunaan memiliki nol atau satu penunjuk.
IsAbsolute
Menentukan, jika TRUE, bahwa penggunaan tombol atau rentang penggunaan menyediakan data absolut. Jika tidak, jika IsAbsoluteFALSE, data tombol adalah perubahan status dari nilai sebelumnya.
ReportCount
Jumlah laporan yang ditentukan HID. Tersedia dimulai dengan API versi 2.0. Panggil fungsi HIDP_GetVersion untuk mendapatkan versi API.
Reserved2
Dicadangkan untuk penggunaan sistem internal.
Reserved[9]
Dicadangkan untuk penggunaan sistem internal.
Range
Menentukan, jika IsRangeTRUE, informasi tentang rentang penggunaan. Jika tidak, jika IsRangeFALSE, NotRange berisi informasi tentang satu penggunaan.
Range.UsageMin
Menunjukkan batas bawah rentang penggunaan inklusif yang batas atas inklusifnya ditentukan oleh Range.UsageMax.
Range.UsageMax
Menunjukkan batas atas inklusif dari rentang penggunaan yang batas bawah inklusifnya ditunjukkan oleh Range.UsageMin.
Range.StringMin
Menunjukkan batas bawah inklusif dari rentang deskriptor string (ditentukan oleh item minimum string dan maksimum string) yang batas atas inklusifnya ditunjukkan oleh Range.StringMax.
Range.StringMax
Menunjukkan batas atas inklusif dari rentang deskriptor string (ditentukan oleh item minimum string dan maksimum string) yang batas bawah inklusifnya ditunjukkan oleh Range.StringMin.
Range.DesignatorMin
Menunjukkan batas bawah inklusif dari rentang penunjuk (ditentukan oleh item minimum penunjuk dan maksimum penunjuk) yang batas bawah inklusifnya ditunjukkan oleh Range.DesignatorMax.
Range.DesignatorMax
Menunjukkan batas atas inklusif dari rentang penunjuk (ditentukan oleh item maksimum minimum penunjuk dan penunjuk) yang batas bawah inklusifnya ditunjukkan oleh Range.DesignatorMin.
Range.DataIndexMin
Menunjukkan batas bawah inklusif dari rentang berurutan indeks data yang sesuai, satu-ke-satu dan dalam urutan yang sama, ke penggunaan yang ditentukan oleh rentang penggunaan Range.UsageMin ke Range.UsageMax.
Range.DataIndexMax
Menunjukkan batas atas inklusif dari rentang berurutan indeks data yang sesuai, satu-ke-satu dan dalam urutan yang sama, ke penggunaan yang ditentukan oleh rentang penggunaan Range.UsageMin ke Range.UsageMax.
NotRange
Menentukan, jika IsRangeFALSE, informasi tentang satu penggunaan. Jika tidak, jika IsRangeTRUE, Rentang berisi informasi tentang rentang penggunaan.
NotRange.Usage
Menunjukkan ID penggunaan.
NotRange.Reserved1
Dicadangkan untuk penggunaan sistem internal.
NotRange.StringIndex
Menunjukkan ID deskriptor string untuk penggunaan yang ditentukan oleh NotRange.Usage.
NotRange.Reserved2
Dicadangkan untuk penggunaan sistem internal.
NotRange.DesignatorIndex
Menunjukkan ID penunjuk untuk penggunaan yang ditentukan oleh NotRange.Usage.
NotRange.Reserved3
Dicadangkan untuk penggunaan sistem internal.
NotRange.DataIndex
Menunjukkan indeks data penggunaan yang ditentukan oleh NotRange.Usage.
NotRange.Reserved4
Dicadangkan untuk penggunaan sistem internal.
Keterangan
Klien mendapatkan array kemampuan tombol dengan memanggil HidP_GetButtonCaps atau HidP_GetSpecificButtonCaps. Rutinitas ini mengembalikan array struktur HIDP_BUTTON_CAPS dalam buffer yang dialokasikan pemanggil. Panjang buffer yang diperlukan ditentukan dalam struktur HIDP_CAPS yang dikembalikan oleh HidP_GetCaps.
Untuk informasi tentang kemampuan nilai kontrol HID, lihat Kemampuan Koleksi dan Array Kemampuan Nilai.
Saat deskriptor laporan mendeklarasikan item utama input, output, atau fitur dengan deklarasi penggunaan yang lebih sedikit daripada ReportCount, maka penggunaan terakhir berlaku untuk semua jumlah yang tidak ditentukan yang tersisa dalam item utama tersebut. Sebagai contoh, Anda mungkin memiliki data yang memerlukan banyak bidang untuk dijelaskan, mungkin byte yang di-buffer. Dalam hal ini, hanya satu struktur batas nilai yang dialokasikan untuk bidang terkait ini, semuanya dengan penggunaan yang sama, dan ReportCount mencerminkan jumlah bidang yang terlibat. Biasanya ReportCount adalah satu. Untuk mengakses semua bidang dalam struktur nilai seperti itu, perlu menggunakan HidP_GetUsageValueArray dan HidP_SetUsageValueArray. Fungsi HidP_GetUsageValue dan HidP_SetScaledUsageValue juga akan berfungsi. Namun, fungsi-fungsi ini hanya berfungsi dengan bidang pertama struktur.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | hidpi.h (termasuk Hidpi.h) |