次の方法で共有


IOCTL_INTERNAL_MOUSE_CONNECT IOCTL (kbdmou.h)

IOCTL_INTERNAL_MOUSE_CONNECT要求は、Mouclass サービスをマウス デバイスに接続します。 Mouclass は、マウス デバイスを開く前に、デバイス スタックにこの要求を送信します。

Moufiltr は、マウス接続要求を受信した後、次のように要求をフィルター処理します。

  1. Moufiltr に渡された CONNECT_DATA (Mouclass) 構造体のコピーを保存します
  2. クラス ドライバーの接続情報の独自の接続情報を置き換える
  3. IOCTL_INTERNAL_MOUSE_CONNECT要求をデバイス スタックに送信します
要求が成功しなかった場合、Moufiltr は適切なエラー状態で要求を完了します。

Moufiltr には、Mouclass サービス コールバック ルーチンである MouseClassServiceCallback の操作を補完できるフィルター サービス コールバック ルーチンのテンプレートが用意されています。 フィルター サービス コールバックでは、デバイス入力バッファーからクラス ドライバー データ キューに転送される入力データをフィルター処理できます。

Mouclass サービスの接続の詳細については、次のトピックを参照してください。

I8042prt コールバック ルーチン

Moufiltr コールバック ルーチン

メジャー コード

IRP_MJ_INTERNAL_DEVICE_CONTROL

[入力バッファー]

Parameters.DeviceIoControl.Type3InputBuffer メンバーは、Mouclass によって割り当てられ、設定されるCONNECT_DATA構造体を指します。

入力バッファーの長さ

Parameters.DeviceIoControl.InputBufferLength メンバーは、CONNECT_DATA構造体のサイズ (バイト単位) 以上の値に設定されます。

出力バッファー

Parameters.DeviceIoControl.Type3InputBuffer メンバーは、Moufiltr によって設定されたCONNECT_DATA構造体を指します。

出力バッファーの長さ

CONNECT_DATA構造体のサイズ。

ステータス ブロック

Information メンバーは 0 に設定されます。

Status メンバーは、次のいずれかの値に設定されます。

STATUS_INVALID_PARAMETER

Parameters.DeviceIoControl.InputBufferLength は、CONNECT_DATA構造体のサイズ (バイト単位) 未満です。

STATUS_SHARING_VIOLATION

Moufiltr は既に接続されています (フィルター ドライバーは 1 つの接続要求のみをサポートします)。

要件

要件
Header kbdmou.h (Kbdmou.h を含む)

こちらもご覧ください

CONNECT_DATA (Mouclass)

MouseClassServiceCallback