Freigeben über


IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL (ntdd8042.h)

Die IOCTL_INTERNAL_I8042_HOOK_KEYBOARD-Anforderung führt Folgendes aus:

  • Fügt der I8042prt-Tastaturinitialisierungsroutine eine Initialisierungsrückrufroutine hinzu.
  • Fügt dem I8042prt-Tastatur-ISR eine ISR-Rückrufroutine hinzu
Die Initialisierungs- und ISR-Rückrufe sind optional und werden von einem Filtertreiber der oberen Ebene für ein Tastaturgerät im PS/2-Stil bereitgestellt.

Nachdem I8042prt eine IOCTL_INTERNAL_KEYBOARD_CONNECT-Anforderung empfangen hat, sendet er eine synchrone IOCTL_INTERNAL_I8042_HOOK_KEYBOARD Anforderung an den oberen Rand des Tastaturgerätestapels.

Nachdem Kbfiltr die Hooktastataturanforderung empfangen hat, filtert Kbfiltr die Anforderung wie folgt:

  • Speichert die an Kbfiltr übergebenen Informationen der oberen Ebene. Dies umfasst den Kontext eines Geräteobjekts der oberen Ebene, einen Zeiger auf einen Initialisierungsrückruf und einen Zeiger 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 der Kbfiltr ISR-Rückruf verwenden kann
Weitere Informationen zu dieser Anforderung und den Rückrufen finden Sie in den folgenden Themen:

I8042prt-Rückrufroutinen

Kbfiltr-Rückrufroutinen

Hauptcode

IRP_MJ_INTERNAL_DEVICE_CONTROL

Eingabepuffer

Parameters.DeviceIoControl.Type3InputBuffer verweist auf eine INTERNAL_I8042_HOOK_KEYBOARD-Struktur. Diese Struktur enthält die folgenden Member:

Eingabepufferlänge

Der Parameter.DeviceIoControl.InputBufferLength-Member ist auf einen Wert festgelegt, der größer als oder gleich der Größe einer INTERNAL_I8042_HOOK_KEYBOARD-Struktur in Bytes ist.

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_KEYBOARD-Struktur in Bytes.

STATUS_SUCCESS

Die Anforderung wurde erfolgreich abgeschlossen.

Anforderungen

Anforderung Wert
Header ntdd8042.h (einschließen von Ntdd8042.h)

Weitere Informationen

INTERNAL_I8042_HOOK_KEYBOARD

IOCTL_INTERNAL_KEYBOARD_CONNECT