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é dans 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 les données préparées d’un niveau supérieur.

[in] Report

Pointeur vers un rapport HID.

[in] ReportLength

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

Valeur retournée

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

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

Code de retour Description
HIDP_STATUS_INVALID_PREPARSED_DATA
Les données préparées 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’une des valeurs de bouton ou d’utilisation spécifiées n’a pas pu être définie :

Code de retour Description
HIDP_STATUS_BUFFER_TOO_SMALL
Un bouton dans un tableau n’a pas été défini sur ON (1), car tous les champs du 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 ne se trouve 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.

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 PASSIVE_LEVEL

Voir aussi

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA