Bagikan melalui


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)

Lihat juga