次の方法で共有


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 コールバックで使用できるコールバックへのポインターを保存します
この要求とコールバックの詳細については、次のトピックを参照してください。

I8042prt コールバック ルーチン

Moufiltr コールバック ルーチン

メジャー コード

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 を含む)

こちらもご覧ください

INTERNAL_I8042_HOOK_MOUSE

IOCTL_INTERNAL_MOUSE_CONNECT