IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL (kbdmou.h)
A solicitação IOCTL_INTERNAL_KEYBOARD_CONNECT conecta o serviço Kbdclass ao dispositivo de teclado. O Kbdclass envia essa solicitação para baixo na pilha do dispositivo de teclado antes de abrir o dispositivo de teclado.
Depois que kbfiltr recebeu a solicitação de conexão de teclado, Kbfiltr filtra a solicitação de conexão da seguinte maneira:
- Salva uma cópia da estrutura de CONNECT_DATA (Kbdclass) da Kbdclass que é passada para o driver de filtro por Kbdclass
- Substitui suas próprias informações de conexão para as informações de conexão do driver de classe
- Envia a solicitação IOCTL_INTERNAL_KEYBOARD_CONNECT para baixo na pilha do dispositivo
O Kbfiltr fornece um modelo para uma rotina de retorno de chamada de serviço de filtro que pode complementar a operação de KeyboardClassServiceCallback, a rotina de retorno de chamada do serviço de classe Kbdclass. O retorno de chamada do serviço de filtro pode filtrar os dados de entrada transferidos do buffer de entrada do dispositivo para a fila de dados de classe.
Para obter mais informações sobre a conexão do serviço Kbdclass, consulte os seguintes tópicos:
Código principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer de entrada
O membro Parameters.DeviceIoControl.Type3InputBuffer aponta para uma estrutura CONNECT_DATA alocada e definida por Kbdclass.
Comprimento do buffer de entrada
O membro Parameters.DeviceIoControl.InputBufferLength é definido como um valor maior ou igual ao tamanho, em bytes, de uma estrutura CONNECT_DATA.
Buffer de saída
O membro Parameters.DeviceIoControl.Type3InputBuffer aponta para uma estrutura CONNECT_DATA definida por Kbfiltr.
Comprimento do buffer de saída
O tamanho de uma estrutura CONNECT_DATA .
Bloco de status
O membro Informações é definido como zero.
O membro Status é definido como um dos seguintes valores:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength é menor que o tamanho, em bytes, de uma estrutura CONNECT_DATA.
STATUS_SHARING_VIOLATION
O Kbfiltr já está conectado (o driver de filtro dá suporte a apenas uma solicitação de conexão).
STATUS_SUCCESS
A solicitação foi concluída com êxito.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | kbdmou.h (inclua Kbdmou.h) |