fonction HidP_SetButtonArray (hidpi.h)

La fonction HidP_SetButtonArray définit l’état des boutons via un tableau de structures HIDP_BUTTON_ARRAY_DATA .

Syntaxe

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

Paramètres

ReportType

Valeur de HidP_Output ou de HidP_Feature à partir de l’énumération HIDP_REPORT_TYPE .

UsagePage

Page d’utilisation à laquelle l’utilisation donnée fait référence.

LinkCollection

(Facultatif) Cette valeur peut être utilisée pour différencier deux champs qui peuvent avoir le même UsagePage et Usage, mais qui existent dans différentes collections. Si la valeur est HIDP_LINK_COLLECTION_UNSPECIFIED, le premier tableau de boutons trouvé correspondant à UsagePage et Utilisation est retourné, quel que soit l’emplacement. Si la valeur est HIDP_LINK_COLLECTION_ROOT, le premier tableau de boutons trouvé, dans la collection racine, correspondant à UsagePage et Usage est retourné.

Usage

Utilisation dont le tableau de boutons HidP_SetButtonArray définira.

ButtonData

Mémoire tampon avec les valeurs à définir dans le tableau de boutons.

ButtonDataLength

Nombre d’éléments dans la mémoire tampon ButtonData .

PreparsedData

Données analysées retournées par HIDCLASS.

Report

Paquet de rapport. Le premier octet doit être l’Id de rapport.

ReportLength

Longueur du paquet de rapport donné en octets.

Valeur de retour

HidP_SetButtonArray retourne l’une des valeurs d’état suivantes :

Code de retour Description
HIDP_STATUS_SUCCESS Le tableau de boutons du paquet de rapport a été défini avec succès
HIDP_STATUS_INVALID_REPORT_TYPE ReportType n’est pas valide
HIDP_STATUS_INVALID_PREPARSED_DATA PreparsedData n’est pas valide
HIDP_STATUS_INVALID_REPORT_LENGTH La longueur du paquet de rapport n’est pas égale à la longueur spécifiée dans la structure HIDP_CAPS pour le ReportType donné
HIDP_STATUS_REPORT_DOES_NOT_EXIST Il n’existe aucun rapport sur cet appareil pour le ReportType donné
HIDP_STATUS_NOT_BUTTON_ARRAY Le contrôle spécifié n’est pas un tableau de boutons
HIDP_STATUS_INCOMPATIBLE_REPORT_ID La page d’utilisation, l’utilisation et la collection de liens spécifiées existent dans un rapport avec un ID de rapport différent de celui passé dans le rapport
HIDP_STATUS_USAGE_NOT_FOUND La page d’utilisation, l’utilisation et la combinaison de collections de liens n’existent pas dans les rapports de ce ReportType
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE ArrayIndex pour l’une des structures de HIDP_BUTTON_ARRAY_DATA fournies est en dehors de la plage valide pour ce tableau de boutons

Remarques

HidP_SetButtonArray définit l’état des boutons pour le premier tableau de boutons trouvé, dans le LinkCollection spécifié, avec l’utilisation fournie pour le rapport spécifié.

L’appelant doit utiliser HidP_GetVersion pour déterminer si cette fonction est disponible. HidP_SetButtonArray est disponible uniquement si HidP_GetVersion retourne une valeur de deux ou plus. La version 2 de l’API correspond à Windows 11.

Un tableau de boutons se produit lorsque la dernière utilisation de la séquence d’utilisations décrivant un élément principal doit être répétée, car il existe moins d’utilisations définies que le ReportCount déclaré pour l’élément principal donné. Dans ce cas, une seule HIDP_BUTTON_CAPS est allouée pour cette utilisation et le ReportCount de l’HIDP_BUTTON_CAPS est défini pour refléter le nombre de champs que l’utilisation fait référence.

Un HIDP_BUTTON_CAPS qui décrit un tableau de boutons, aura toujours ReportCount supérieur à un. Si ReportCount est égal à un, il ne s’agit pas d’un tableau de boutons et ne peut pas être utilisé avec HidP_SetButtonArray. Pour plus d’informations, consultez HidP_SetUsages.

Configuration requise

   
En-tête hidpi.h

Voir aussi