HidP_SetButtonArray (hidpi.h)

Fungsi HidP_SetButtonArray mengatur status tombol melalui array struktur HIDP_BUTTON_ARRAY_DATA .

Sintaks

NTSTATUS HidP_SetButtonArray(
  HIDP_REPORT_TYPE        ReportType,
  USAGE                   UsagePage,
  USHORT                  LinkCollection,
  USAGE                   Usage,
  PHIDP_BUTTON_ARRAY_DATA ButtonData,
  USHORT                  ButtonDataLength,
  PHIDP_PREPARSED_DATA    PreparsedData,
  PCHAR                   Report,
  ULONG                   ReportLength
);

Parameter

ReportType

Nilai HidP_Output atau HidP_Feature dari enum HIDP_REPORT_TYPE .

UsagePage

Halaman penggunaan yang dirujuk oleh penggunaan yang diberikan.

LinkCollection

(Opsional) Nilai ini dapat digunakan untuk membedakan antara dua bidang yang mungkin memiliki UsagePage dan Usage yang sama tetapi ada di koleksi yang berbeda. Jika nilainya HIDP_LINK_COLLECTION_UNSPECIFIED, array tombol pertama yang ditemukan yang cocok dengan UsagePage dan Usage akan dikembalikan, terlepas dari lokasinya. Jika nilainya HIDP_LINK_COLLECTION_ROOT, array tombol pertama yang ditemukan, dalam koleksi akar, yang cocok dengan UsagePage dan Usage akan dikembalikan.

Usage

Penggunaan yang HidP_SetButtonArray array tombolnya akan diatur.

ButtonData

Buffer dengan nilai untuk diatur ke dalam array tombol.

ButtonDataLength

Jumlah elemen dalam buffer ButtonData .

PreparsedData

Data yang diurai dikembalikan dari HIDCLASS.

Report

Paket laporan. Byte pertama harusreportId.

ReportLength

Panjang paket laporan yang diberikan dalam byte.

Mengembalikan nilai

HidP_SetButtonArray mengembalikan salah satu nilai status berikut:

Menampilkan kode Deskripsi
HIDP_STATUS_SUCCESS Array tombol dalam paket laporan berhasil diatur
HIDP_STATUS_INVALID_REPORT_TYPE ReportType tidak valid
HIDP_STATUS_INVALID_PREPARSED_DATA PreparsedData tidak valid
HIDP_STATUS_INVALID_REPORT_LENGTH Panjang paket laporan tidak sama dengan panjang yang ditentukan dalam struktur HIDP_CAPS untuk ReportType yang diberikan
HIDP_STATUS_REPORT_DOES_NOT_EXIST Tidak ada laporan pada perangkat ini untuk ReportType yang diberikan
HIDP_STATUS_NOT_BUTTON_ARRAY Kontrol yang ditentukan bukan array tombol
HIDP_STATUS_INCOMPATIBLE_REPORT_ID Halaman penggunaan, penggunaan, dan kumpulan tautan yang ditentukan ada dalam laporan dengan ID laporan yang berbeda dari laporan yang diteruskan
HIDP_STATUS_USAGE_NOT_FOUND Kombinasi halaman penggunaan, penggunaan, dan kumpulan tautan tidak ada dalam laporan apa pun untuk ReportType ini
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE ArrayIndex untuk salah satu struktur HIDP_BUTTON_ARRAY_DATA yang disediakan berada di luar rentang yang valid untuk array tombol ini

Keterangan

HidP_SetButtonArray mengatur status tombol untuk array tombol pertama yang ditemukan, dalam LinkCollection yang ditentukan, dengan Penggunaan yang disediakan untuk Laporan yang ditentukan.

Pemanggil harus menggunakan HidP_GetVersion untuk menentukan apakah fungsi ini tersedia. HidP_SetButtonArray hanya tersedia jika HidP_GetVersion mengembalikan nilai dua atau lebih. Versi dua API sesuai dengan Windows 11.

Array tombol terjadi ketika penggunaan terakhir dalam urutan penggunaan yang menjelaskan item utama, harus diulang karena ada lebih sedikit penggunaan yang ditentukan daripada ReportCount yang dinyatakan untuk item utama yang diberikan. Dalam hal ini, satu HIDP_BUTTON_CAPS dialokasikan untuk penggunaan tersebut dan ReportCountdari HIDP_BUTTON_CAPS diatur untuk mencerminkan jumlah bidang yang dirujuk penggunaan.

HIDP_BUTTON_CAPS yang menjelaskan array tombol, akan selalu memiliki ReportCount yang lebih besar dari satu. Jika ReportCount sama dengan satu, maka itu bukan array tombol dan tidak dapat digunakan dengan HidP_SetButtonArray. Untuk informasi selengkapnya, lihat HidP_SetUsages.

Persyaratan

   
Header hidpi.h

Lihat juga