HidP_SetButtonArray, fonction (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 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 les mêmes UsagePage et Usage, mais qui existent dans des collections différentes. Si la valeur est HIDP_LINK_COLLECTION_UNSPECIFIED, le premier tableau de boutons trouvé correspondant à UsagePage et Usage 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 le ReportId.
ReportLength
Longueur du paquet de rapport donné en octets.
Valeur retournée
HidP_SetButtonArray retourne l’une des valeurs status suivantes :
Code de retour | Description |
---|---|
HIDP_STATUS_SUCCESS | Le tableau de boutons dans le paquet de rapport a été correctement défini |
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 Type de rapport donné |
HIDP_STATUS_REPORT_DOES_NOT_EXIST | Il n’existe aucun rapport sur cet appareil pour le Type de rapport 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 du rapport passé |
HIDP_STATUS_USAGE_NOT_FOUND | La combinaison de la page d’utilisation, de l’utilisation et de la collection de liens n’existe pas dans les rapports pour ce Type de rapport |
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE | ArrayIndex pour l’une des structures 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 supérieure. 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 main doit être répétée, car il y a moins d’utilisations définies que le ReportCount déclaré pour l’élément main 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 auxquels l’utilisation fait référence.
Un HIDP_BUTTON_CAPS qui décrit un tableau de boutons, a 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
Condition requise | Valeur |
---|---|
En-tête | hidpi.h |