IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL (ntdd8042.h)
Die IOCTL_INTERNAL_I8042_HOOK_MOUSE Anforderung fügt dem I8042prt-Maus-ISR eine ISR-Rückrufroutine hinzu. Der ISR-Rückruf ist optional und wird von einem Mausfiltertreiber der oberen Ebene bereitgestellt.
I8042prt sendet diese Anforderung, nachdem sie eine IOCTL_INTERNAL_MOUSE_CONNECT-Anforderung erhalten hat. I8042prt sendet eine synchrone IOCTL_INTERNAL_I8042_HOOK_MOUSE Anforderung an den oberen Rand des Mausgerätestapels.
Nachdem Moufiltr die Hookmausanforderung empfangen hat, wird die Anforderung wie folgt gefiltert:
- Speichert die an Moufiltr übergebenen Informationen der oberen Ebene, einschließlich des Kontexts eines Geräteobjekts der oberen Ebene und eines Zeigers auf einen ISR-Rückruf.
- Ersetzt die Informationen der oberen Ebene durch ihre eigenen
- Speichert den Kontext von I8042prt und Zeigern auf Rückrufe, die die Moufiltr ISR-Rückrufe verwenden können
Hauptcode
IRP_MJ_INTERNAL_DEVICE_CONTROL
Eingabepuffer
Der Parameter.DeviceIoControl.InputBufferLength-Member ist auf einen Wert festgelegt, der größer als oder gleich der Größe einer INTERNAL_I8042_HOOK_MOUSE-Struktur in Bytes ist.
Parameters.DeviceIoControl.Type3InputBuffer verweist auf eine INTERNAL_I8042_HOOK_MOUSE Struktur, die zunächst von I8042prt zugeordnet und festgelegt wird.
Eingabepufferlänge
Parameters.DeviceIoControl.Type3InputBuffer verweist auf eine INTERNAL_I8042_HOOK_MOUSE Struktur, die zunächst von I8042prt zugeordnet und festgelegt wird.
Ausgabepuffer
Keine
Länge des Ausgabepuffers
Keine
Statusblock
Der Statusmember ist auf einen der folgenden Werte festgelegt:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength ist kleiner als die Größe einer INTERNAL_I8042_HOOK_MOUSE-Struktur in Bytes.
STATUS_SUCCESS
Die Anforderung wurde erfolgreich abgeschlossen.
Anforderungen
Anforderung | Wert |
---|---|
Header | ntdd8042.h (einschließen von Ntdd8042.h) |