IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL (ntdd8042.h)

La solicitud IOCTL_INTERNAL_I8042_HOOK_KEYBOARD hace lo siguiente:

  • Agrega una rutina de devolución de llamada de inicialización a la rutina de inicialización del teclado I8042prt.
  • Agrega una rutina de devolución de llamada ISR al ISR del teclado I8042prt.
Las devoluciones de llamada de ISR y inicialización son opcionales y las proporciona un controlador de filtro de nivel superior para un dispositivo de teclado de estilo PS/2.

Después de que I8042prt reciba una solicitud de IOCTL_INTERNAL_KEYBOARD_CONNECT , envía una solicitud de IOCTL_INTERNAL_I8042_HOOK_KEYBOARD sincrónica a la parte superior de la pila del dispositivo de teclado.

Después de que Kbfiltr reciba la solicitud de teclado de enlace, Kbfiltr filtra la solicitud de la siguiente manera:

  • Guarda la información de nivel superior que se pasa a Kbfiltr, que incluye el contexto de un objeto de dispositivo de nivel superior, un puntero a una devolución de llamada de inicialización y un puntero a una devolución de llamada ISR.
  • Reemplaza la información de nivel superior por su propia
  • Guarda el contexto de I8042prt y punteros a devoluciones de llamada que la devolución de llamada kbfiltr ISR puede usar.
Para obtener más información sobre esta solicitud y las devoluciones de llamada, consulte los temas siguientes:

Rutinas de devolución de llamada de I8042prt

Rutinas de devolución de llamada de Kbfiltr

Código principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Búfer de entrada

Parameters.DeviceIoControl.Type3InputBuffer apunta a una estructura de INTERNAL_I8042_HOOK_KEYBOARD. Esta estructura incluye los siguientes miembros:

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 de INTERNAL_I8042_HOOK_KEYBOARD .

Búfer de salida

None

Longitud del búfer de salida

None

Bloque de estado

El miembro Status se establece en uno de los siguientes valores:

STATUS_INVALID_PARAMETER

Parameters.DeviceIoControl.InputBufferLength es menor que el tamaño, en bytes, de una estructura de INTERNAL_I8042_HOOK_KEYBOARD.

STATUS_SUCCESS

La solicitud se completó correctamente.

Requisitos

Requisito Valor
Header ntdd8042.h (incluya Ntdd8042.h)

Consulte también

INTERNAL_I8042_HOOK_KEYBOARD

IOCTL_INTERNAL_KEYBOARD_CONNECT