IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL (kbdmou.h)
La solicitud de IOCTL_INTERNAL_KEYBOARD_CONNECT conecta el servicio Kbdclass al dispositivo de teclado. Kbdclass envía esta solicitud a la pila de dispositivos del teclado antes de abrir el dispositivo de teclado.
Después de que Kbfiltr recibió la solicitud de conexión del teclado, Kbfiltr filtra la solicitud de conexión de la siguiente manera:
- Guarda una copia de la estructura CONNECT_DATA (Kbdclass) de Kbdclass que se pasa al controlador de filtro por Kbdclass.
- Sustituye su propia información de conexión para la información de conexión del controlador de clase.
- Envía la solicitud de IOCTL_INTERNAL_KEYBOARD_CONNECT a la pila del dispositivo.
Kbfiltr proporciona una plantilla para una rutina de devolución de llamada de servicio de filtro que puede complementar el funcionamiento de KeyboardClassServiceCallback, la rutina de devolución de llamada del servicio de clase Kbdclass. La devolución de llamada del servicio de filtro puede filtrar los datos de entrada que se transfieren desde el búfer de entrada del dispositivo a la cola de datos de clase.
Para obtener más información sobre la conexión del servicio Kbdclass, consulte los temas siguientes:
Código principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Búfer de entrada
El miembro Parameters.DeviceIoControl.Type3InputBuffer apunta a una estructura de CONNECT_DATA asignada y establecida por Kbdclass.
Longitud del búfer de entrada
El miembro Parameters.DeviceIoControl.InputBufferLength se establece en un valor mayor o igual que el tamaño, en bytes, de una estructura CONNECT_DATA.
Búfer de salida
El miembro Parameters.DeviceIoControl.Type3InputBuffer apunta a una estructura de CONNECT_DATA establecida por Kbfiltr.
Longitud del búfer de salida
Tamaño de una estructura de CONNECT_DATA .
Bloque de estado
El miembro Information se establece en cero.
El miembro Status se establece en uno de los valores siguientes:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength es menor que el tamaño, en bytes, de una estructura de CONNECT_DATA.
STATUS_SHARING_VIOLATION
Kbfiltr ya está conectado (el controlador de filtro solo admite una solicitud de conexión).
STATUS_SUCCESS
La solicitud se completó correctamente.
Requisitos
Requisito | Valor |
---|---|
Header | kbdmou.h (incluye Kbdmou.h) |