IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL (hidclass.h)

Запрос IOCTL_HID_SET_POLL_FREQUENCY_MSEC задает частоту опроса (в миллисекундах) для коллекции верхнего уровня.

Приложения пользовательского режима или драйверы в режиме ядра, которые выполняют нерегулярные оппортунистические операции чтения на опрашиваемом устройстве, должны предоставить интервал опроса, равный нулю. В таких случаях IOCTL_HID_SET_POLL_FREQUENCY_MSEC фактически не изменяет частоту опроса устройства; Но если данные отчета не устареют при чтении, чтение немедленно завершается с последними данными отчета для указанной коллекции. Если данные отчета устарели, они обновляются немедленно, не дожидаясь истечения интервала опроса, а чтение завершается новыми данными.

Если значение интервала опроса, указанного в IRP, не равно нулю, оно должно быть >равно = MIN_POLL_INTERVAL_MSEC и <= MAX_POLL_INTERVAL_MSEC.

Опрос может быть ограничен, если имеется несколько коллекций верхнего уровня.

Общие сведения об устройствах HIDClass см. в разделе Коллекции HID.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода IRP указывает размер входного буфера в байтах, который должен иметь >значение = sizeof(ULONG).

Irp->AssociatedIrp.SystemBuffer содержит новый интервал опроса.

Длина входного буфера

Значение больше или равно sizeof(ULONG).

Выходной буфер

Нет.

Длина выходного буфера

Нет.

Блок состояния

Драйвер класса HID задает элементу StatusIrp-IoStatus> значение STATUS_SUCCESS, если передача завершена без ошибок. В противном случае ему присваивается соответствующий код ошибки NTSTATUS.

Требования

Требование Значение
Заголовок hidclass.h (включая Hidclass.h)

См. также раздел

IOCTL_HID_GET_POLL_FREQUENCY_MSEC