IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL (ntdd8042.h)
IOCTL_INTERNAL_I8042_HOOK_MOUSE要求は、I8042prt マウス ISR に ISR コールバック ルーチンを追加します。 ISR コールバックは省略可能であり、上位レベルのマウス フィルター ドライバーによって提供されます。
I8042prt は、 IOCTL_INTERNAL_MOUSE_CONNECT 要求を受信した後にこの要求を送信します。 I8042prt は、同期IOCTL_INTERNAL_I8042_HOOK_MOUSE要求をマウス デバイス スタックの上部に送信します。
Moufiltr は、フック マウス要求を受信した後、次のように要求をフィルター処理します。
- Moufiltr に渡される上位レベルの情報を保存します。これには、上位レベルのデバイス オブジェクトのコンテキストと ISR コールバックへのポインターが含まれます
- 上位レベルの情報を独自の情報に置き換えます
- I8042prt のコンテキストと、Moufiltr ISR コールバックで使用できるコールバックへのポインターを保存します
メジャー コード
IRP_MJ_INTERNAL_DEVICE_CONTROL
[入力バッファー]
Parameters.DeviceIoControl.InputBufferLength メンバーは、INTERNAL_I8042_HOOK_MOUSE構造体のサイズ (バイト単位) 以上の値に設定されます。
Parameters.DeviceIoControl.Type3InputBuffer は、I8042prt によって最初に割り当てられ、設定されるINTERNAL_I8042_HOOK_MOUSE構造体を指します。
入力バッファーの長さ
Parameters.DeviceIoControl.Type3InputBuffer は、I8042prt によって最初に割り当てられ、設定されるINTERNAL_I8042_HOOK_MOUSE構造体を指します。
出力バッファー
なし
出力バッファーの長さ
なし
ステータス ブロック
Status メンバーは、次のいずれかの値に設定されます。
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength は、INTERNAL_I8042_HOOK_MOUSE構造体のサイズ (バイト単位) 未満です。
STATUS_SUCCESS
要求は正常に完了しました。
要件
要件 | 値 |
---|---|
Header | ntdd8042.h (Ntddd8042.h を含む) |