Condividi tramite


IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL (ntdd8042.h)

La richiesta di IOCTL_INTERNAL_I8042_HOOK_KEYBOARD esegue le operazioni seguenti:

  • Aggiunge una routine di inizializzazione del callback alla routine di inizializzazione della tastiera I8042prt
  • Aggiunge una routine di callback ISR alla tastiera ISR I8042prt
L'inizializzazione e i callback ISR sono facoltativi e vengono forniti da un driver di filtro di livello superiore per un dispositivo da tastiera PS/2.

Dopo che I8042prt riceve una richiesta di IOCTL_INTERNAL_KEYBOARD_CONNECT , invia una richiesta sincrona IOCTL_INTERNAL_I8042_HOOK_KEYBOARD alla parte superiore dello stack di dispositivi da tastiera.

Dopo che Kbfiltr riceve la richiesta di tastiera hook, Kbfiltr filtra la richiesta nel modo seguente:

  • Salva le informazioni di livello superiore passate a Kbfiltr, che include il contesto di un oggetto dispositivo di livello superiore, un puntatore a un callback di inizializzazione e un puntatore a un callback ISR
  • Sostituisce le informazioni di livello superiore con il proprio
  • Salva il contesto di I8042prt e puntatori ai callback che il callback ISR kbfiltr può usare
Per altre informazioni su questa richiesta e sui callback, vedere gli argomenti seguenti:

Routine di callback I8042prt

Routine di callback kbfiltr

Codice principale

IRP_MJ_INTERNAL_DEVICE_CONTROL

Buffer di input

Parameters.DeviceIoControl.Type3InputBuffer punta a una struttura INTERNAL_I8042_HOOK_KEYBOARD. Questa struttura include i membri seguenti:

Lunghezza del buffer di input

Il membro Parameters.DeviceIoControl.InputBufferLength è impostato su un valore maggiore o uguale alle dimensioni, in byte, di una struttura INTERNAL_I8042_HOOK_KEYBOARD .

Buffer di output

Nessuno

Lunghezza del buffer di output

Nessuno

Blocco dello stato

Il membro Status è impostato su uno dei valori seguenti:

STATUS_INVALID_PARAMETER

Parameters.DeviceIoControl.InputBufferLength è minore delle dimensioni, in byte, di una struttura INTERNAL_I8042_HOOK_KEYBOARD.

STATUS_SUCCESS

La richiesta è stata completata correttamente.

Requisiti

Requisito Valore
Intestazione ntdd8042.h (include Ntdd8042.h)

Vedi anche

INTERNAL_I8042_HOOK_KEYBOARD

IOCTL_INTERNAL_KEYBOARD_CONNECT