IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL (hidclass.h)
La solicitud IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS establece el número de búferes para la cola de informes de entrada de una colección de nivel superior .
Cada cola de informes de entrada se implementa como un búfer de anillo. Si una colección transmite datos al controlador de clase HID más rápido que el controlador puede leerlos, es posible que se pierdan algunos de los datos. Para evitar este tipo de pérdida, puede usar una solicitud de IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS para ajustar el número de búferes que contiene la cola de informes de entrada. El controlador de clase HID requiere un mínimo de dos búferes de entrada. En Windows 2000, el número máximo de búferes de entrada que admite el controlador de clase HID es 200 y en Windows XP y versiones posteriores, el número máximo de búferes de entrada que admite el controlador de clase HID es 512. El número predeterminado de búferes de entrada es 32.
Para obtener información general sobre los dispositivos HIDClass, consulte colecciones HID.
Código principal
Búfer de entrada
Irp->AssociatedIrp.SystemBuffer apunta a un búfer de entrada de tamaño ULONG que recibe el nuevo número de búferes para la cola de informes de entrada.
Parameters.DeviceIoControl.InputBufferLength en la ubicación de la pila de E/S del IRP contiene el tamaño, en bytes, del búfer de entrada en Irp->AssociatedIrp.SystemBuffer. Este tamaño debe ser tamaño de(ULONG).
Longitud del búfer de entrada
Tamaño de un ULONG.
Búfer de salida
Ninguno.
Longitud del búfer de salida
Ninguno.
Bloque de estado
Si la solicitud se realiza correctamente, el controlador de clase HID establece el campo estado de de Irp->IoStatus en STATUS_SUCCESS; De lo contrario, establece el campo Estado en un código de error NTSTATUS adecuado.
Requisitos
Requisito | Valor |
---|---|
encabezado de | hidclass.h (include Hidclass.h) |