fonction HidD_SetOutputReport (hidsdi.h)
La routine HidD_SetOutputReport envoie un rapport de sortie à une collection de niveau supérieur .
Utilisez cette routine uniquement pour définir l’état actuel d’une collection. Certains appareils peuvent ne pas prendre en charge cette routine et ne répondront pas si cette routine est utilisée. Pour plus d’informations, consultez Envoi de rapports HID par User-Mode Applications.
Syntaxe
BOOLEAN HidD_SetOutputReport(
[in] HANDLE HidDeviceObject,
[in] PVOID ReportBuffer,
[in] ULONG ReportBufferLength
);
Paramètres
[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 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 d’ID est égale à zéro.
Valeur de retour
Si HidD_SetOutputReport réussit, elle retourne true; sinon, elle retourne FALSE. Utilisez GetLastError pour obtenir des informations d’erreur étendues.
Remarques
Le ReportBufferLength correct est spécifié par le membre OutputReportByteLength d’une structure HIDP_CAPS 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 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 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 de préparation et d’envoi d’un rapport HID à un 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 demande de IOCTL_HID_SET_OUTPUT_REPORT.
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 |