HidD_SetOutputReport, fonction (hidsdi.h)
La routine HidD_SetOutputReport envoie un rapport de sortie à une collection de niveau supérieur.
Utilisez uniquement cette routine pour définir l’état actuel d’une collection. Certains appareils peuvent ne pas prendre en charge cette routine et ne répondront plus si cette routine est utilisée. Pour plus d’informations, consultez Envoi de rapports HID par User-Mode applications.
BOOLEAN HidD_SetOutputReport(
[in] HANDLE HidDeviceObject,
[in] PVOID ReportBuffer,
[in] ULONG ReportBufferLength
);
[in] HidDeviceObject
Handle ouvert à une collection de niveau supérieur.
[in] ReportBuffer
Pointeur vers une mémoire tampon de rapport de sortie allouée par l’appelant que l’appelant utilise pour spécifier un ID de rapport.
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 de sortie plus un octet supplémentaire qui spécifie un ID de rapport différent de zéro. Si l’ID de rapport n’est pas utilisé, la valeur de l’ID est zéro.
Si HidD_SetOutputReport réussit, elle retourne TRUE ; sinon, elle retourne FALSE. Utilisez GetLastError pour obtenir des informations d’erreur étendues.
Le Bon ReportBufferLength est spécifié par le membre OutputReportByteLength de la structure HIDP_CAPS d’une collection de niveau supérieur retournée par HidP_GetCaps appel.
Avant d’appeler la routine HidD_SetOutputReport , 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 de sortie est référencé par le paramètre ReportBuffer . Selon l’ID de rapport, l’appelant prépare le rapport en appelant l’une des fonctions suivantes :
Pour obtenir un exemple montrant comment préparer et envoyer un rapport HID à une collection de niveau supérieur, consultez l’exemple d’application HClient .
Seules les applications en mode utilisateur peuvent appeler HidD_SetOutputReport. Les pilotes en mode noyau peuvent utiliser une requête IOCTL_HID_SET_OUTPUT_REPORT .
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows XP et versions ultérieures de Windows. |
Plateforme cible | Universal |
En-tête | hidsdi.h (inclure Hidsdi.h) |
Bibliothèque | Hid.lib |
DLL | Hid.dll |