fonction HidD_GetInputReport (hidsdi.h)
La routine HidD_GetInputReport retourne un rapport d’entrée 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 des 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 à 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 de l’ID est égale à zéro.
Valeur retournée
HidD_GetInputReport retourne TRUE s’il réussit ; sinon, il retourne FALSE. Utilisez GetLastError pour obtenir des informations d’erreur étendues.
Remarques
Le bon ReportBufferLength est spécifié par le membre InputReportByteLength de la structure HIDP_CAPS d’une collection de niveau supérieur retourné par HidP_GetCaps appel.
Avant d’appeler la routine HidD_GetInputReport , l’appelant doit effectuer les opérations suivantes :
- Si la 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 la 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 requête IOCTL_HID_GET_INPUT_REPORT.
Pour plus d’informations, consultez Interprétation des rapports HID.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows XP et les versions ultérieures de Windows. |
Plateforme cible | Universal |
En-tête | hidsdi.h (inclure Hidsdi.h) |
Bibliothèque | Hid.lib |
DLL | Hid.dll |