IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL (hidclass.h)
La solicitud de IOCTL_HID_SET_POLL_FREQUENCY_MSEC establece la frecuencia de sondeo, en milisegundos, para una colección de nivel superior.
Las aplicaciones en modo de usuario o los controladores en modo kernel que realizan lecturas irregulares oportunistas en un dispositivo sondado deben proporcionar un intervalo de sondeo de cero. En tales casos, IOCTL_HID_SET_POLL_FREQUENCY_MSEC no cambia realmente la frecuencia de sondeo del dispositivo; pero si los datos del informe no están obsoletos cuando se leen, la lectura se completa inmediatamente con los datos de informe más recientes de la colección indicada. Si los datos del informe están obsoletos, se actualizan inmediatamente, sin esperar a la expiración del intervalo de sondeo y la lectura se completa con los nuevos datos.
Si el valor del intervalo de sondeo que se proporciona en el IRP no es cero, debe ser >= MIN_POLL_INTERVAL_MSEC y <= MAX_POLL_INTERVAL_MSEC.
El sondeo puede estar limitado si hay varias colecciones de nivel superior.
Para obtener información general sobre los dispositivos HIDClass, consulte Colecciones HID.
Código principal
Búfer de entrada
Parameters.DeviceIoControl.InputBufferLength en la ubicación de la pila de E/S del IRP indica el tamaño, en bytes, del búfer de entrada, que debe ser >= sizeof(ULONG).
Irp->AssociatedIrp.SystemBuffer contiene el nuevo intervalo de sondeo.
Longitud del búfer de entrada
Valor mayor o igual que sizeof(ULONG).
Búfer de salida
Ninguno.
Longitud del búfer de salida
Ninguno.
Bloque de estado
El controlador de clase HID establece el miembro Status de Irp-IoStatus> en STATUS_SUCCESS si la transferencia se completó sin error. De lo contrario, se establece en un código de error NTSTATUS adecuado.
Requisitos
Requisito | Valor |
---|---|
Header | hidclass.h (include Hidclass.h) |