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 |