IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL (ntdd8042.h)
Die IOCTL_INTERNAL_I8042_HOOK_MOUSE Anforderung fügt der I8042prt Mouse 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 Hook-Mausanforderung empfängt, filtert sie die Anforderung wie folgt:
- Speichert die informationen der oberen Ebene, die an Moufiltr übergeben werden, einschließlich des Kontexts eines Geräteobjekts der oberen Ebene und eines Zeigers auf einen ISR-Rückruf.
- Ersetzt die Informationen auf oberster Ebene durch eine eigene
- Speichert den Kontext von I8042prt und Zeigern in Rückrufen, die die Moufiltr ISR-Rückrufe verwenden können
Hauptcode
IRP_MJ_INTERNAL_DEVICE_CONTROL
Eingabepuffer
Das Parameters.DeviceIoControl.InputBufferLength Member wird auf einen Wert festgelegt, der größer oder gleich der Größe einer INTERNAL_I8042_HOOK_MOUSE Struktur ist.
Die Parameters.DeviceIoControl.Type3InputBuffer verweist auf eine INTERNAL_I8042_HOOK_MOUSE Struktur, die anfangs von I8042prt zugewiesen und festgelegt wird.
Eingabepufferlänge
Die Parameters.DeviceIoControl.Type3InputBuffer verweist auf eine INTERNAL_I8042_HOOK_MOUSE Struktur, die anfangs von I8042prt zugewiesen und festgelegt wird.
Ausgabepuffer
Nichts
Länge des Ausgabepuffers
Nichts
Statusblock
Der Status- Member ist auf einen der folgenden Werte festgelegt:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength 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 (enthalten Ntdd8042.h) |