HidP_GetUsagesEx, fonction (hidpi.h)

La routine HidP_GetUsagesEx retourne une liste de toutes les utilisations du bouton de contrôle HID qui sont définies sur ON dans un rapport HID.

Syntaxe

NTSTATUS HidP_GetUsagesEx(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USHORT               LinkCollection,
  [in, out] PUSAGE_AND_PAGE      ButtonList,
  [in, out] ULONG                *UsageLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

Paramètres

[in] ReportType

Spécifie une valeur d’énumérateur HIDP_REPORT_TYPE qui identifie le type de rapport.

[in] LinkCollection

Spécifie la collection de liens des utilisations du bouton. Si LinkCollection n’est pas zéro, la routine retourne uniquement des informations sur les boutons que contient cette collection de liens ; sinon, si LinkCollection est égal à zéro, la routine retourne des informations sur tous les boutons de la collection de niveau supérieur associée à PreparsedData.

[in, out] ButtonList

Pointeur vers une mémoire tampon allouée à l’appelant que la routine utilise pour retourner les identificateurs de page d’utilisation et d’utilisation pour chaque bouton défini sur ON (1).

[in, out] UsageLength

Spécifie, lors de l’entrée, la longueur, dans les éléments de tableau, de la mémoire tampon ButtonList . Spécifie, lors de la sortie, les utilisations de nombre qui sont actuellement définies sur ON dans le rapport spécifié.

[in] PreparsedData

Pointeur vers les données préparées d’une collection de niveau supérieur.

[in] Report

Pointeur vers un rapport qui contient des données de bouton.

[in] ReportLength

Spécifie la longueur, en octets, du rapport situé dans Rapport.

Valeur retournée

HidP_GetUsagesEx retourne l’une des valeurs status suivantes :

Code de retour Description
HIDP_STATUS_SUCCESS
La routine a retourné avec succès toutes les utilisations de bouton définies sur ON.
HIDP_INVALID_REPORT_LENGTH
La longueur du rapport n’est pas valide.
HIDP_INVALID_REPORT_TYPE
Le type de rapport spécifié n’est pas valide.
HIDP_STATUS_BUFFER_TOO_SMALL
La mémoire tampon UsageList est trop petite pour contenir toutes les utilisations actuellement définies sur ON dans le rapport spécifié.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
La collection contient des boutons dans un rapport du type spécifié, mais il n’existe aucune utilisation de ce type dans le rapport spécifié.
HIDP_STATUS_INVALID_PREPARSED_DATA
Les données préparées ne sont pas valides.

Remarques

Les applications en mode utilisateur et les pilotes en mode noyau appellent HidP_MaxUsageListLength pour déterminer le nombre maximal de boutons retournés pour le type de rapport spécifié. Les applications ou les pilotes peuvent également appeler HidP_GetUsagesEx et définir (*UsageLength) sur zéro pour retourner la longueur requise dans UsageLength. En d’autres termes, UsageLength doit être un pointeur valide qui pointe vers une valeur ULONG 0 pour obtenir la longueur requise.

Les applications ou les pilotes déterminent la longueur de rapport requise à partir des membres XxxReportByteLength dans la structure HIDP_CAPS d’une collection de niveau supérieur.

Pour plus d’informations, consultez Collections HID.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures de Windows.
Plateforme cible Universal
En-tête hidpi.h (inclure Hidpi.h)
Bibliothèque Hidparse.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

HidP_GetButtons

HidP_GetButtonsEx

HidP_GetCaps

HidP_GetScaledUsageValue

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetUsagesEx

HidP_MaxUsageListLength

USAGE_AND_PAGE

_HIDP_PREPARSED_DATA