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 указывает размер входного буфера в байтах, который должен быть >= размер(ULONG).

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

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

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

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

Никакой.

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

Никакой.

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

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

Требования

Требование Ценность
заголовка hidclass.h (include Hidclass.h)

См. также

IOCTL_HID_GET_POLL_FREQUENCY_MSEC