IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL (hidclass.h)
La richiesta IOCTL_HID_SET_POLL_FREQUENCY_MSEC imposta la frequenza di polling, in millisecondi, per una raccolta di livello superiore.
Le applicazioni in modalità utente o i driver in modalità kernel che eseguono letture irregolari e opportunistiche in un dispositivo di polling devono fornire un intervallo di polling pari a zero. In questi casi, IOCTL_HID_SET_POLL_FREQUENCY_MSEC non modifica effettivamente la frequenza di polling del dispositivo; ma se i dati del report non sono obsoleti quando sono letti, la lettura viene completata immediatamente con i dati del report più recenti per la raccolta indicata. Se i dati del report non sono aggiornati, vengono aggiornati immediatamente, senza attendere la scadenza dell'intervallo di polling e la lettura viene completata con i nuovi dati.
Se il valore per l'intervallo di polling specificato in IRP non è zero, deve essere >= MIN_POLL_INTERVAL_MSEC e <= MAX_POLL_INTERVAL_MSEC.
Il polling può essere limitato se sono presenti più raccolte di livello superiore.
Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.
Codice principale
Buffer di input
Parameters.DeviceIoControl.InputBufferLength nella posizione dello stack I/O di IRP indica le dimensioni, in byte, del buffer di input, che deve essere >= sizeof(ULONG).
Irp->AssociatedIrp.SystemBuffer contiene il nuovo intervallo di polling.
Lunghezza del buffer di input
Valore maggiore o uguale a sizeof(ULONG).
Buffer di output
Nessuno.
Lunghezza del buffer di output
Nessuno.
Blocco dello stato
Il driver di classe HID imposta il membro Status di Irp-IoStatus> su STATUS_SUCCESS se il trasferimento è stato completato senza errori. In caso contrario, viene impostato su un codice di errore NTSTATUS appropriato.
Requisiti
Requisito | Valore |
---|---|
Intestazione | hidclass.h (include Hidclass.h) |