INTERNAL_I8042_HOOK_KEYBOARD 結構 (ntdd8042.h)
I8042prt 會使用INTERNAL_I8042_HOOK_KEYBOARD來連接選擇性回呼例程,以補充鍵盤初始化和鍵盤 ISR。 回呼可由選擇性、廠商提供的上層篩選驅動程式提供。
語法
typedef struct _INTERNAL_I8042_HOOK_KEYBOARD {
OUT PVOID Context;
OUT PI8042_KEYBOARD_INITIALIZATION_ROUTINE InitializationRoutine;
OUT PI8042_KEYBOARD_ISR IsrRoutine;
IN PI8042_ISR_WRITE_PORT IsrWritePort;
IN PI8042_QUEUE_PACKET QueueKeyboardPacket;
IN PVOID CallContext;
} INTERNAL_I8042_HOOK_KEYBOARD, *PINTERNAL_I8042_HOOK_KEYBOARD;
成員
Context
如果為非 NULL,則為必須搭配 InitializationRoutine 和 IsrRoutine 例程使用的內容指標。 否則, Context 為 NULL。
InitializationRoutine
如果非 NULL,則為選擇性 PI8042_KEYBOARD_INITIALIZATION_ROUTINE回呼的指標。 I8042prt 會在重設裝置之後使用此回呼來初始化裝置。 否則, IntializatonRoutine 為 NULL。
IsrRoutine
如果不是 NULL,則為選擇性 PI8042_KEYBOARD_ISR 回呼的指標,可自定義 I8042prt 鍵盤 ISR 的作業。 否則, IsrRoutine 為 NULL。
IsrWritePort
系統提供的 PI8042_ISR_WRITE_PORT 回呼指標,它會將數據寫入鍵盤。
QueueKeyboardPacket
系統提供的 PI8042_QUEUE_PACKET 回呼指標,它會將鍵盤輸入數據封包排入佇列,以供鍵盤的 ISR 延遲過程調用處理。
CallContext
必須搭配 IsrWritePort 和 QueueKeyboardPacket 例程使用的內容指標。
備註
此結構僅與 IOCTL_INTERNAL_I8042_HOOK_KEYBOARD 要求搭配使用。
內容、 初始化Routine 和 IsrRoutine 可由選擇性、廠商提供的上層篩選驅動程式提供。
IsrWritePort、 QueueKeyboardPacket 和 CallContext 是由 I8042prt 提供。
規格需求
需求 | 值 |
---|---|
標頭 | ntdd8042.h (包含 Ntdd8042.h) |
另請參閱
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD