IOCTL_INTERNAL_MOUSE_CONNECT IOCTL (kbdmou.h)
IOCTL_INTERNAL_MOUSE_CONNECT要求は、Mouclass サービスをマウス デバイスに接続します。 Mouclass は、マウス デバイスを開く前に、デバイス スタックにこの要求を送信します。
Moufiltr は、マウス接続要求を受信した後、次のように要求をフィルター処理します。
- Moufiltr に渡された CONNECT_DATA (Mouclass) 構造体のコピーを保存します
- クラス ドライバーの接続情報の独自の接続情報を置き換える
- IOCTL_INTERNAL_MOUSE_CONNECT要求をデバイス スタックに送信します
Moufiltr には、Mouclass サービス コールバック ルーチンである MouseClassServiceCallback の操作を補完できるフィルター サービス コールバック ルーチンのテンプレートが用意されています。 フィルター サービス コールバックでは、デバイス入力バッファーからクラス ドライバー データ キューに転送される入力データをフィルター処理できます。
Mouclass サービスの接続の詳細については、次のトピックを参照してください。
メジャー コード
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 を含む) |