IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL (ntdd8042.h)
A solicitação IOCTL_INTERNAL_I8042_HOOK_MOUSE adiciona uma rotina de retorno de chamada ISR ao ISR do mouse I8042prt. O retorno de chamada ISR é opcional e é fornecido por um driver de filtro de mouse de nível superior.
O I8042prt envia essa solicitação depois de receber uma solicitação IOCTL_INTERNAL_MOUSE_CONNECT. O I8042prt envia uma solicitação de IOCTL_INTERNAL_I8042_HOOK_MOUSE síncrona para a parte superior da pilha de dispositivos do mouse.
Depois que moufiltr recebe a solicitação do mouse de gancho, ele filtra a solicitação da seguinte maneira:
- Salva as informações de nível superior passadas para Moufiltr, que inclui o contexto de um objeto de dispositivo de nível superior 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 os retornos de chamada do ISR do Moufiltr podem usar
-
rotinas de retorno de chamada Moufiltr
Código principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
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_MOUSE.
O Parameters.DeviceIoControl.Type3InputBuffer aponta para uma estrutura de INTERNAL_I8042_HOOK_MOUSE alocada e definida inicialmente pelo I8042prt.
Comprimento do buffer de entrada
O Parameters.DeviceIoControl.Type3InputBuffer aponta para uma estrutura de INTERNAL_I8042_HOOK_MOUSE alocada e definida inicialmente pelo I8042prt.
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_MOUSE.
STATUS_SUCCESS
A solicitação foi concluída com êxito.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntdd8042.h (inclua Ntdd8042.h) |