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 la stessa proprietà UsagePage e Usage, ma che esistono in raccolte diverse. Se il valore è HIDP_LINK_COLLECTION_UNSPECIFIED, verrà restituita la prima matrice di pulsanti trovata corrispondente a UsagePage e Usage , 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

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 PreparsedData 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 sono presenti in un report con un ID report diverso rispetto al report passato
HIDP_STATUS_USAGE_NOT_FOUND La combinazione di pagina di utilizzo, utilizzo e raccolta di collegamenti non esiste in alcun report per questo ReportType
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE ArrayIndex per una delle strutture di HIDP_BUTTON_ARRAY_DATA fornite non rientra 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'insieme LinkCollection specificato, con l'oggetto Usage fornito 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 pari o superiore a due. La versione 2 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é esistono meno utilizzi definiti rispetto a ReportCount dichiarati 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 impostato in modo da 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

   
Intestazione hidpi.h

Vedi anche