Compartilhar via


IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL (ntdd8042.h)

A solicitação IOCTL_INTERNAL_I8042_HOOK_KEYBOARD faz o seguinte:

  • Adiciona uma rotina de retorno de chamada de inicialização à rotina de inicialização do teclado I8042prt
  • Adiciona uma rotina de retorno de chamada ISR ao ISR do teclado I8042prt
A inicialização e os retornos de chamada isr são opcionais e são fornecidos por um driver de filtro de nível superior para um dispositivo de teclado no estilo PS/2.

Depois que o I8042prt recebe uma solicitação de IOCTL_INTERNAL_KEYBOARD_CONNECT , ele envia uma solicitação de IOCTL_INTERNAL_I8042_HOOK_KEYBOARD síncrona para a parte superior da pilha de dispositivos de teclado.

Depois que kbfiltr recebe a solicitação de teclado de gancho, Kbfiltr filtra a solicitação da seguinte maneira:

  • Salva as informações de nível superior passadas para Kbfiltr, que inclui o contexto de um objeto de dispositivo de nível superior, um ponteiro para um retorno de chamada de inicialização e um ponteiro para um retorno de chamada isr
  • Substitui as informações de nível superior por suas próprias
  • Salva o contexto de I8042prt e ponteiros para retornos de chamada que o retorno de chamada isr Kbfiltr pode usar
Para obter mais informações sobre essa solicitação e os retornos de chamada, consulte os seguintes tópicos:

Rotinas de retorno de chamada I8042prt

Rotinas de retorno de chamada Kbfiltr

Código principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Buffer de entrada

O Parameters.DeviceIoControl.Type3InputBuffer aponta para uma estrutura INTERNAL_I8042_HOOK_KEYBOARD. Essa estrutura inclui os seguintes membros:

Comprimento do buffer de entrada

O membro Parameters.DeviceIoControl.InputBufferLength é definido como um valor maior ou igual ao tamanho, em bytes, de uma estrutura INTERNAL_I8042_HOOK_KEYBOARD .

Buffer de saída

Nenhum

Comprimento do buffer de saída

Nenhum

Bloco de status

O membro Status é definido como um dos seguintes valores:

STATUS_INVALID_PARAMETER

Parameters.DeviceIoControl.InputBufferLength é menor que o tamanho, em bytes, de uma estrutura INTERNAL_I8042_HOOK_KEYBOARD.

STATUS_SUCCESS

A solicitação foi concluída com êxito.

Requisitos

Requisito Valor
Cabeçalho ntdd8042.h (include Ntdd8042.h)

Confira também

INTERNAL_I8042_HOOK_KEYBOARD

IOCTL_INTERNAL_KEYBOARD_CONNECT