IOCTL_HID_SET_FEATURE IOCTL (hidclass.h)
La requête IOCTL_HID_SET_FEATURE envoie un rapport de fonctionnalités à une collection de niveau supérieur .
Pour obtenir des informations générales sur les appareils HIDClass, consultez collections HID.
Code principal
Mémoire tampon d’entrée
Le membre Parameters.DeviceIoControl.InputBufferLength
est défini sur la taille, en octets, d’une mémoire tampon d’entrée allouée par demandeur qui contient un rapport de fonctionnalités de classe HID.
Taille de la mémoire tampon d’entrée en octets. La mémoire tampon doit être suffisamment grande pour contenir le rapport de fonctionnalités 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.
Le membre Irp->AssociatedIrp.SystemBuffer
pointe vers la mémoire tampon d’entrée qui contient un rapport de fonctionnalité. Si la collection inclut des ID de rapport, le demandeur doit définir le premier octet de la mémoire tampon sur un ID de rapport différent de zéro ; sinon, le demandeur doit définir le premier octet sur zéro. Le rapport de fonctionnalités se trouve à ((PUCHAR)ReportBuffer + 1)
.
gestion des minidrivers
Irp->UserBuffer
pointe vers une structure HID_XFER_PACKET utilisée par le pilote de classe HID pour entrer les membres suivants :
Longueur de la mémoire tampon d’entrée
Taille de la mémoire tampon d’entrée en octets. La mémoire tampon 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.
gestion des minidrivers
Taille d’une structure HID_XFER_PACKET.
Mémoire tampon de sortie
Aucun.
Longueur de la mémoire tampon de sortie
Aucun.
Bloc d’état
Le pilote de classe HID définit les champs suivants de Irp->IoStatus
:
- l' d’informations est définie sur zéro.
- 'état est défini sur STATUS_SUCCESS si le transfert s’est terminé sans erreur. Sinon, il est défini sur un code d’erreur NTSTATUS approprié
gestion des minidrivers
Les minidrivers HID qui exécutent les E/S sur l’appareil définissent les champs suivants de Irp->IoStatus
:
- Informations est définie sur le nombre d’octets transférés vers l’appareil.
- 'état est défini sur STATUS_SUCCESS si le transfert s’est terminé sans erreur. Sinon, il est défini sur un code d’erreur NTSTATUS approprié.
Les minidrivers HID qui appellent d’autres pilotes avec cette IOCTL pour effectuer les E/S doivent s’assurer que le champ Information du bloc d’état est correct et ne modifie pas le contenu du champ Status.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | hidclass.h (include Hidclass.h) |