IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL (ntdd8042.h)

IOCTL_INTERNAL_I8042_HOOK_KEYBOARD要求會執行下列動作:

  • 將初始化回呼例程新增至 I8042prt 鍵盤初始化例程
  • 將ISR回呼例程新增至I8042prt鍵盤ISR
初始化和ISR回呼是選擇性的,由 PS/2 樣式鍵盤裝置的頂層篩選驅動程式提供。

在 I8042prt 收到 IOCTL_INTERNAL_KEYBOARD_CONNECT 要求之後,它會將同步IOCTL_INTERNAL_I8042_HOOK_KEYBOARD要求傳送至鍵盤裝置堆疊頂端。

在 Kbfiltr 收到攔截式鍵盤要求之後,Kbfiltr 會以下列方式篩選要求:

  • 儲存傳遞至 Kbfiltr 的上層資訊,其中包括上層裝置對象的內容、初始化回呼的指標,以及 ISR 回呼的指標
  • 以自己的資訊取代最上層資訊
  • 將 I8042prt 的內容和指標儲存至 Kbfiltr ISR 回呼可以使用的回呼
如需此要求和回呼的詳細資訊,請參閱下列主題:

I8042prt 回呼例程

Kbfiltr 回呼例程

主要程序代碼

IRP_MJ_INTERNAL_DEVICE_CONTROL

輸入緩衝區

Parameters.DeviceIoControl.Type3InputBuffer 指向INTERNAL_I8042_HOOK_KEYBOARD結構。 此結構包含下列成員:

輸入緩衝區長度

Parameters.DeviceIoControl.InputBufferLength 成員會設定為大於或等於INTERNAL_I8042_HOOK_KEYBOARD結構大小的值。

輸出緩衝區

輸出緩衝區長度

狀態區塊

Status 成員會設定為下列其中一個值:

STATUS_INVALID_PARAMETER

Parameters.DeviceIoControl.InputBufferLength 小於INTERNAL_I8042_HOOK_KEYBOARD結構的大小,以位元組為單位。

STATUS_SUCCESS

要求已順利完成。

規格需求

需求
標頭 ntdd8042.h (包含 Ntdd8042.h)

另請參閱

INTERNAL_I8042_HOOK_KEYBOARD

IOCTL_INTERNAL_KEYBOARD_CONNECT