IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL (hidclass.h)
La requête IOCTL_HID_SET_POLL_FREQUENCY_MSEC définit la fréquence d’interrogation, en millisecondes, pour une collection de niveau supérieur .
Les applications en mode utilisateur ou les pilotes en mode noyau qui effectuent des lectures irrégulières et opportunistes sur un appareil interrogé doivent fournir un intervalle d’interrogation égal à zéro. Dans ce cas, IOCTL_HID_SET_POLL_FREQUENCY_MSEC ne modifie pas réellement la fréquence d’interrogation de l’appareil ; mais si les données du rapport ne sont pas obsolètes lorsqu’elles sont lues, la lecture est terminée immédiatement avec les données de rapport les plus récentes pour la collection indiquée. Si les données du rapport sont obsolètes, elles sont actualisées immédiatement, sans attendre l’expiration de l’intervalle d’interrogation et la lecture est terminée avec les nouvelles données.
Si la valeur de l’intervalle d’interrogation fourni dans l’IRP n’est pas égale à zéro, elle doit être >= MIN_POLL_INTERVAL_MSEC et <= MAX_POLL_INTERVAL_MSEC.
L’interrogation peut être limitée s’il existe plusieurs collections 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
Parameters.DeviceIoControl.InputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon d’entrée, qui doit être >= sizeof(ULONG).
Irp->AssociatedIrp.SystemBuffer contient le nouvel intervalle d’interrogation.
Longueur de la mémoire tampon d’entrée
Valeur supérieure ou égale à taille de(ULONG).
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 le membre Status de Irp->IoStat us sur STATUS_SUCCESS si le transfert s’est terminé sans erreur. Sinon, il est défini sur un code d’erreur NTSTATUS approprié.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | hidclass.h (include Hidclass.h) |