Partager via


fonction HidP_SetData (hidpi.h)

La routine HidP_SetData définit un ensemble spécifié de boutons de contrôle HID et d’utilisations de valeurs dans un rapport HID.

Syntaxe

NTSTATUS HidP_SetData(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in, out] PHIDP_DATA           DataList,
  [in, out] PULONG               DataLength,
  [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 indique le type de rapport HID situé à rapport .

[in, out] DataList

Pointeur vers un tableau alloué par l’appelant de structures HIDP_DATA qui spécifient les boutons et les valeurs d’utilisation à définir.

[in, out] DataLength

Spécifie, lors de l’entrée, le nombre de membres dans le tableau DataList. Pour plus d’informations sur la valeur de sortie, consultez la section Remarques.

[in] PreparsedData

Pointeur vers le de données prédéfinies d’un niveau supérieur.

[in] Report

Pointeur vers un rapport HID.

[in] ReportLength

Spécifie la taille, en octets, du rapport HID situé à Rapport, qui doit être égale à la longueur du rapport pour le type de rapport spécifié qui HidP_GetCaps retourne dans la structure HIDP_CAPS d’une collection.

Valeur de retour

HidP_SetData retourne HIDP_STATUS_SUCCESS s’il définit correctement toutes les données de contrôle spécifiées par DataList .

HidP_SetData retourne l’une des valeurs d’état suivantes si l’un des paramètres d’entrée n’est pas valide :

Retourner le code Description
HIDP_STATUS_INVALID_PREPARSED_DATA
Les données prédéfinies spécifiées par PreparsedData ne sont pas valides.
HIDP_STATUS_INVALID_REPORT_LENGTH
La taille, en octets, du rapport HID n’est pas égale à la longueur spécifiée dans la structure HIDP_CAPS de la collection pour le type de rapport spécifié.
HIDP_STATUS_INVALID_REPORT_TYPE
reportType n’est pas valide.
HIDP_STATUS_REPORT_DOES_NOT_EXIST
La collection ne contient pas de rapport du type spécifié.
 

HidP_SetData retourne l’une des valeurs d’erreur suivantes si l’un des boutons ou valeurs d’utilisation spécifiés n’a pas pu être défini :

Retourner le code Description
HIDP_STATUS_BUFFER_TOO_SMALL
Un bouton d’un tableau n’a pas été défini sur ON (1), car tous les champs de tableau sont déjà utilisés pour indexer d’autres boutons.
HIDP_STATUS_BUTTON_NOT_PRESSED
Un membre DataList spécifie de définir un bouton OFF (zéro), mais le bouton est déjà défini sur OFF.
HIDP_STATUS_DATA_INDEX_NOT_FOUND
L’index de données d’un membre DataList n’est pas valide.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
Un bouton ou une valeur d’utilisation est contenu dans un rapport, mais il n’est pas dans le rapport spécifié.
HIDP_STATUS_IS_VALUE_ARRAY
Un index de données spécifie un tableau de valeurs d’utilisation.

Remarques

À l’exception des tableaux de valeurs d’utilisation, une application en mode utilisateur ou un pilote en mode noyau peut utiliser HidP_SetData pour définir des boutons et des valeurs d’utilisation dans un rapport. Pour définir un tableau de valeurs d’utilisation, une application ou un pilote doit utiliser HidP_SetUsageValueArray.

HidP_SetData définit la valeur de sortie de DataLength comme suit :

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 PASSIVE_LEVEL

Voir aussi

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA