Partager via


fonction HidP_GetUsagesEx (hidpi.h)

La routine HidP_GetUsagesEx retourne une liste de tous les boutons de contrôle HID utilisations 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 par l’appelant qui utilise pour retourner l’utilisation et page d’utilisation identificateurs pour chaque bouton défini sur ON (1).

[in, out] UsageLength

Spécifie, en entrée, la longueur, dans les éléments de tableau, de la ButtonList tampon. Spécifie, en sortie, les utilisations numériques actuellement définies sur ON dans le rapport spécifié.

[in] PreparsedData

Pointeur vers le de données prédéfinies 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é à Rapport.

Valeur de retour

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

Retourner le code Description
HIDP_STATUS_SUCCESS
La routine a correctement retourné 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édéfinies 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 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.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 2000 et versions ultérieures de Windows.
plateforme cible Universel
d’en-tête hidpi.h (include 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