IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL (ntdd8042.h)
La richiesta di IOCTL_INTERNAL_I8042_HOOK_MOUSE aggiunge una routine di callback ISR all'ISR del mouse I8042prt. Il callback ISR è facoltativo e viene fornito da un driver di filtro del mouse di livello superiore.
I8042prt invia questa richiesta dopo la ricezione di una richiesta di IOCTL_INTERNAL_MOUSE_CONNECT . I8042prt invia una richiesta sincrona IOCTL_INTERNAL_I8042_HOOK_MOUSE all'inizio dello stack di dispositivi del mouse.
Dopo che Moufiltr riceve la richiesta del mouse hook, filtra la richiesta nel modo seguente:
- Salva le informazioni di livello superiore passate a Moufiltr, che include il contesto di un oggetto dispositivo di livello superiore e un puntatore a un callback ISR
- Sostituisce le informazioni di livello superiore con le proprie
- Salva il contesto di I8042prt e puntatori ai callback che i callback di Moufiltr ISR possono usare
Codice principale
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer di input
Il membro Parameters.DeviceIoControl.InputBufferLength è impostato su un valore maggiore o uguale alla dimensione, espressa in byte, di una struttura di INTERNAL_I8042_HOOK_MOUSE .
Parameters.DeviceIoControl.Type3InputBuffer punta a una struttura INTERNAL_I8042_HOOK_MOUSE allocata e impostata inizialmente da I8042prt.
Lunghezza del buffer di input
Parameters.DeviceIoControl.Type3InputBuffer punta a una struttura INTERNAL_I8042_HOOK_MOUSE allocata e impostata inizialmente da I8042prt.
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_MOUSE.
STATUS_SUCCESS
La richiesta è stata completata correttamente.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntdd8042.h (include Ntdd8042.h) |