Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
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 de dispositivos 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 pasada 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 de 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.
Código principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Búfer de entrada
El 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 INTERNAL_I8042_HOOK_KEYBOARD.
Búfer de salida
Ninguno
Longitud del búfer de salida
Ninguno
Bloque de estado
El miembro Estado de 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 |
---|---|
encabezado de | ntdd8042.h (incluya Ntdd8042.h) |