fonction HidD_GetInputReport (hidsdi.h)
La routine HidD_GetInputReport retourne un rapport d’entrée à partir d’une collection de niveau supérieur .
Utilisez cette routine uniquement pour obtenir l’état actuel d’une collection. Si une application tente d’utiliser cette routine pour obtenir en permanence des rapports d’entrée, les rapports peuvent être perdus. Pour plus d’informations, consultez Obtention de rapports HID par les applications en mode utilisateur.
Syntaxe
BOOLEAN HidD_GetInputReport(
[in] HANDLE HidDeviceObject,
[out] PVOID ReportBuffer,
[in] ULONG ReportBufferLength
);
Paramètres
[in] HidDeviceObject
Handle ouvert à une collection de niveau supérieur.
[out] ReportBuffer
Pointeur vers une mémoire tampon de rapport d’entrée allouée par l’appelant que l’appelant utilise pour spécifier un ID de rapport HID et HidD_GetInputReport utilise pour retourner le rapport d’entrée spécifié.
Pour plus d’informations sur ce paramètre, consultez la section Remarques.
[in] ReportBufferLength
Taille de la mémoire tampon de rapport en octets. La mémoire tampon de rapport doit être suffisamment grande pour contenir le rapport d’entrée plus un octet supplémentaire qui spécifie un ID de rapport. Si l’ID de rapport n’est pas utilisé, la valeur d’ID est égale à zéro.
Valeur de retour
HidD_GetInputReport retourne TRUE si elle réussit ; sinon, elle retourne FALSE. Utilisez GetLastError pour obtenir des informations d’erreur étendues.
Remarques
Le ReportBufferLength correct est spécifié par le membre InputReportByteLength de la structure HIDP_CAPS d’une collection de niveau supérieur retournée par HidP_GetCaps appel.
Avant d’appeler la routine HidD_GetInputReport, l’appelant doit effectuer les opérations suivantes :
- Si le collection de niveau supérieur inclut des ID de rapport, l’appelant doit définir le premier octet du paramètre ReportBuffer sur un ID de rapport différent de zéro.
- Si le collection de niveau supérieur n’inclut pas d’ID de rapport, l’appelant doit définir le premier octet du paramètre ReportBuffer sur zéro.
Le rapport d’entrée est retourné dans le paramètre ReportBuffer. En fonction de l’ID de rapport, l’appelant analyse le rapport en appelant l’une des fonctions suivantes :
- HidP_GetButtonCaps
- HidP_GetData
- HidP_GetExtendedAttributes
- HidP_GetScaledUsageValue
- HidP_GetSpecificButtonCaps
- HidP_GetSpecificValueCaps
- HidP_GetUsages
- HidP_GetUsagesEx
- HidP_GetUsageValue
- HidP_GetUsageValueArray
- HidP_GetValueCaps
Pour obtenir un exemple d’analyse d’un rapport HID, consultez l’exemple d’application HClient.
Seules les applications en mode utilisateur peuvent appeler HidD_GetInputReport. Les pilotes en mode noyau peuvent utiliser une demande de IOCTL_HID_GET_INPUT_REPORT.
Pour plus d’informations, consultez interprétation des rapports HID.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows XP et versions ultérieures de Windows. |
plateforme cible | Universel |
d’en-tête | hidsdi.h (include Hidsdi.h) |
bibliothèque | Hid.lib |
DLL | Hid.dll |