HID コレクションを開く

このセクションでは、HID クライアントが HID クラス ドライバー (HIDClass) と通信して、デバイスの HID コレクションを操作する方法について説明します。

HID クライアントは、次のモードで動作できます。

  • Use- Mode Application/Driver
  • Kernel-Mode ドライバー

次のセクションでは、HID クライアントが前の一覧のいずれかのモードを使用して HIDClass と通信する方法を示します。

このセクションでは、ユーザー モード アプリケーションとカーネル モード ドライバーが HID コレクションを操作する方法について説明します。

一般に、ユーザー モード アプリケーションでは次の処理が行われます。

  • デバイス インストール関数 (SetupDiXxx 関数) を呼び出して、HID コレクションを検索して識別します。

  • CreateFile を呼び出して、HID コレクション上のファイルを開きます。

  • **HidD_**Xxx HID サポート ルーチンを呼び出して、HID コレクションの 準備されたデータ と HID コレクションに関する情報を取得します。

  • ReadFile を呼び出して入力レポートを読み取り、WriteFile を呼び出して出力レポートを送信します。

  • **HidP_**Xxx HID サポート ルーチンを呼び出して HID レポートを解釈します。

一般に、カーネル モード ドライバーは次の処理を行います。

  • HID コレクションを検索して識別します

    ドライバーが関数またはフィルター ドライバーの場合は、コレクションのデバイス スタックに既にアタッチされています。 ただし、ドライバーがコレクションのデバイス スタックに接続されていない場合、ドライバーは プラグ アンド プレイ通知を使用できます。

  • IRP_MJ_CREATE要求を使用して HID コレクションを開きます

  • IOCTL_HID_Xxx 要求を使用して、HID コレクションの準備されたデータと HID コレクションに関する情報を取得します

  • IRP_MJ_READ要求を使用して入力レポートを読み取り、IRP_MJ_WRITE要求を使用して出力レポートを送信します

  • **HidP_**XXX HID サポート ルーチンを呼び出して HID レポートを解釈する

関連項目