Condividi tramite


funzione HidP_GetButtonArray (hidpi.h)

HidP_GetButtonArray restituisce una matrice di strutture HIDP_BUTTON_ARRAY_DATA per il report specificato.

Sintassi

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

Parametri

ReportType

Valore dell'enumerazione HIDP_REPORT_TYPE .

UsagePage

Pagina di utilizzo a cui fa riferimento l'utilizzo specificato.

LinkCollection

(Facoltativo) Questo valore può essere usato per distinguere tra due campi che possono avere lo stesso UtilizzoPage e Utilizzo , ma esistono in raccolte diverse. Se il valore LinkCollection è HIDP_LINK_COLLECTION_UNSPECIFIED, la prima matrice di pulsanti trovata corrispondente a UsagePage and Usage verrà restituita, indipendentemente dalla posizione. Se il valore LinkCollection è HIDP_LINK_COLLECTION_ROOT, verrà restituita la prima matrice di pulsanti trovata nella raccolta radice corrispondente a UsagePage e Usage .

Usage

Utilizzo i cui pulsanti HidP_GetButtonArray recuperano.

ButtonData

Matrice di strutture HIDP_BUTTON_ARRAY_DATA in cui verranno posizionati i dati dei pulsanti impostati su ON . Il numero di elementi necessari è il campo ReportCountdell'HIDP_BUTTON_CAPS per questo controllo. Questo buffer viene fornito dal chiamante.

ButtonDataLength

Come input, questo parametro specifica la lunghezza del parametro ButtonData nel numero di elementi della matrice, non il numero di byte. Come output, se viene restituito HIDP_STATUS_SUCCESS, questo valore è impostato per indicare il numero di elementi della matrice compilati dalla funzione. Il numero massimo di strutture HIDP_BUTTON_ARRAY_DATA che possono essere restituite è determinato da HIDP_BUTTON_CAPS . ReportCount. Se HIDP_STATUS_BUFFER_TOO_SMALL viene restituito, questo valore contiene il numero di elementi della matrice necessari per completare correttamente la richiesta.

PreparsedData

I dati pre-analizzato restituiti da HIDCLASS.

Report

Pacchetto di report. Il primo byte deve essere ReportId. Questa operazione verrà impostata correttamente se il report viene letto dal sistema.

ReportLength

Lunghezza del pacchetto di report specificato in byte.

Valore restituito

HidP_GetButtonArray restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
HIDP_STATUS_SUCCESS Recuperate correttamente i pulsanti dal pacchetto di report
HIDP_STATUS_INVALID_REPORT_TYPE Il parametro ReportType non è valido
HIDP_STATUS_INVALID_PREPARSED_DATA Il parametro PreparesedData non è valido
HIDP_STATUS_INVALID_REPORT_LENGTH La lunghezza del pacchetto di report non è uguale alla lunghezza specificata nella struttura HIDP_CAPS per il tipo di report specificato
HIDP_STATUS_NOT_BUTTON_ARRAY Il controllo specificato non è una matrice di pulsanti
HIDP_STATUS_BUFFER_TOO_SMALL Dimensioni del buffer passato in cui restituire la matrice è troppo piccola
HIDP_STATUS_INCOMPATIBLE_REPORT_ID La pagina di utilizzo, l'utilizzo e la raccolta di collegamenti specificati esiste in un report con un ID report diverso rispetto al report passato
HIDP_STATUS_USAGE_NOT_FOUND La combinazione di raccolta di utilizzo, utilizzo e collegamento non esiste in alcun report per questo ReportType

Commenti

Il chiamante deve usare HidP_GetVersion per determinare se questa funzione è disponibile. HidP_GetButtonArray è disponibile solo se HidP_GetVersion restituisce un valore di due o versioni successive. La versione due dell'API corrisponde a Windows 11.

Una matrice di pulsanti si verifica quando l'ultimo utilizzo nella sequenza di utilizzi che descrive un elemento principale, deve essere ripetuto perché sono presenti meno utilizzi definiti rispetto all'oggetto ReportCount dichiarato per l'elemento principale specificato. In questo caso, viene allocata una singola HIDP_BUTTON_CAPS per tale utilizzo e reportCount della HIDP_BUTTON_CAPS viene impostata per riflettere il numero di campi a cui fa riferimento l'utilizzo.

Un HIDP_BUTTON_CAPS che descrive una matrice di pulsanti avrà sempre ReportCount maggiore di uno. Se ReportCount è uguale a uno, non è una matrice di pulsanti e non può essere usata con HidP_GetButtonArray. Vedere invece HidP_GetUsages .

Requisiti

Requisito Valore
Intestazione hidpi.h

Vedi anche