Condividi tramite


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

IRP_MJ_DEVICE_CONTROL

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)

Vedi anche

IOCTL_HID_GET_POLL_FREQUENCY_MSEC