Condividi tramite


funzione HidP_SetButtonArray (hidpi.h)

La funzione HidP_SetButtonArray imposta lo stato dei pulsanti tramite una matrice di strutture HIDP_BUTTON_ARRAY_DATA .

Sintassi

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
);

Parametri

ReportType

Valore di HidP_Output o HidP_Feature dall'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 è HIDP_LINK_COLLECTION_UNSPECIFIED, la prima matrice di pulsanti trovata corrispondente a UsagePage and Usage verrà restituita, indipendentemente dalla posizione. Se il valore è HIDP_LINK_COLLECTION_ROOT, verrà restituita la prima matrice di pulsanti trovata, nella raccolta radice, corrispondente a UsagePage e Usage .

Usage

Utilizzo la cui matrice di pulsanti HidP_SetButtonArray verrà impostata.

ButtonData

Buffer con i valori da impostare nella matrice di pulsanti.

ButtonDataLength

Numero di elementi nel buffer ButtonData .

PreparsedData

I dati analizzati restituiti da HIDCLASS.

Report

Pacchetto di report. Il primo byte deve essere ReportId.

ReportLength

Lunghezza del pacchetto di report specificato in byte.

Valore restituito

HidP_SetButtonArray restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
HIDP_STATUS_SUCCESS La matrice di pulsanti nel pacchetto di report è stata impostata correttamente
HIDP_STATUS_INVALID_REPORT_TYPE ReportType non valido
HIDP_STATUS_INVALID_PREPARSED_DATA 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_REPORT_DOES_NOT_EXIST Non sono presenti report su questo dispositivo per il tipo di report specificato
HIDP_STATUS_NOT_BUTTON_ARRAY Il controllo specificato non è una matrice di pulsanti
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
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE ArrayIndex per una delle strutture HIDP_BUTTON_ARRAY_DATA fornite non è compreso nell'intervallo valido per questa matrice di pulsanti

Commenti

HidP_SetButtonArray imposta lo stato dei pulsanti per la prima matrice di pulsanti trovata, all'interno dell'oggetto LinkCollection specificato, con l'utilizzo specificato per il report specificato.

Il chiamante deve usare HidP_GetVersion per determinare se questa funzione è disponibile. HidP_SetButtonArray è 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 del 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_SetButtonArray. Per altre informazioni, vedere HidP_SetUsages.

Requisiti

Requisito Valore
Intestazione hidpi.h

Vedi anche