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 |