Collapse the table of content
Expand the table of content

新しいデバイス ファンクション ドライバーの作成

このトピックでは、Visual Studio を使って新しいデバイス ファンクション ドライバーの作成を始める方法について説明します。デバイス ファンクション ドライバーは、フィルター ドライバー、ソフトウェア ドライバー、ファイル システム ドライバーとは異なります。それらのドライバーについては、別のトピックで説明しています。デバイス ファンクション ドライバーと、他の種類のドライバーとの違いについて詳しくは、「ドライバーとは」、「ドライバー モデルの選択」、「デバイス ノードとデバイス スタック」をご覧ください。

はじめに、「デバイスとドライバーのテクノロジ」にあるテクノロジの一覧で、デバイスがどれに適合するかを特定します。デバイスに使用できるドライバー モデルを調べるには、その特定のテクノロジのドキュメントを参照してください。 適切なドライバー モデルは、テクノロジごとに異なります。一部のテクノロジのドキュメントでは、ユーザー モード ドライバー フレームワーク (UMDF) またはカーネル モード ドライバー フレームワーク (KMDF) を使うことを勧めています。 他のテクノロジのドキュメントでは、ドライバー ペアの一部であるミニドライバーを作成する方法を説明しています。ミニドライバーは、ミニポート、ミニクラスなど、さまざまな名前で呼ばれています。

次に、勧められているドライバー モデルが以下のどのケースと一致しているかを判断し、その手順に従います。

ケース 1: テクノロジのドキュメントが UMDF を勧めている

  1. Visual Studio の [ファイル] メニューで、[新規作成]、[プロジェクト] の順にクリックします。
  2. [新しいプロジェクト] ダイアログ ボックスの左側のウィンドウで、[Visual C++]、[Windows Driver] (Windows ドライバー)、[WDF] を探してクリックします。
  3. 中央のウィンドウで、[User Mode Driver (UMDF)] (ユーザー モード ドライバー (UMDF)) をクリックします。
  4. [名前] ボックスと [場所] ボックスに入力し、[OK] をクリックします。詳しくは、「テンプレートを使った UMDF ドライバーの作成」をご覧ください。
      新しい UMDF ドライバーを作成する場合、32 文字以下のドライバー名を選ぶ必要があります。この長さの制限は、wdfglobals.h で定義されています。
  5. この時点で、ほとんどの UMDF ドライバーに必要な一般的なコードを実装したドライバー プロジェクトができています。これで、デバイス固有のコードを追加できるようになりました。実装する必要があるインターフェイスについて詳しくは、テクノロジのドキュメントをご覧ください。

ケース 2: テクノロジのドキュメントが KMDF を勧めている

  1. Visual Studio の [ファイル] メニューで、[新規作成]、[プロジェクト] の順にクリックします。
  2. [新しいプロジェクト] ダイアログ ボックスの左側のウィンドウで、[WDF] を探してクリックします。
  3. 中央のウィンドウで、[Kernel Mode Driver (KMDF)] (カーネル モード ドライバー (KMDF)) をクリックします。
  4. [名前] ボックスと [場所] ボックスに入力し、[OK] をクリックします。詳しくは、「テンプレートを使った KMDF ドライバーの作成」をご覧ください。
      新しい KMDF ドライバーを作成する場合、32 文字以下のドライバー名を選ぶ必要があります。この長さの制限は、wdfglobals.h で定義されています。
  5. この時点で、ほとんどの KMDF ドライバーに必要な一般的なコードを実装したドライバー プロジェクトができています。これで、デバイス固有のコードを追加できるようになりました。実装する必要があるメソッドについて詳しくは、テクノロジのドキュメントをご覧ください。

ケース 3: テクノロジのドキュメントがミニドライバー モデルについて説明している

デバイス テクノロジにミニポート、ミニクラス、その他の種類のミニドライバー モデルがある場合は、Visual Studio にそのモデル用の固有のテンプレートがあるかどうかを確認します。

  1. Visual Studio の [ファイル] メニューで、[新規作成]、[プロジェクト] の順にクリックします。
  2. [新しいプロジェクト] ダイアログ ボックスの左側のウィンドウで、[テンプレート]、[Visual C++]、[Windows Driver] (Windows ドライバー) を探してクリックします。
  3. インストールされているテンプレートの一覧で、作成するミニドライバーの種類のテンプレートを探します。
  4. 該当するミニドライバーの種類のテンプレートが [Windows Driver] (Windows ドライバー) にない場合は、[Online] (オンライン) をクリックして、オンラインで利用できるテンプレートを参照します。
  5. 該当するミニドライバーの種類のテンプレートが見つかった場合は、そのテンプレートを選び、[名前] ボックスと [場所] ボックスに入力して、[OK] をクリックします。
  6. この時点で、ミニドライバーに必要な一般的なコードを実装したドライバー プロジェクトができています。これで、デバイス固有のコードを追加できるようになりました。実装する必要がある関数について詳しくは、テクノロジのドキュメントをご覧ください。

デバイス テクノロジにミニドライバー モデルがあり、そのミニドライバーの種類の固有のテンプレートが見つからない場合は、通常、Windows Driver Model (WDM) テンプレートをベースにするのが適しています。ガイダンスについては、テクノロジ固有のドキュメントをご覧ください。まれに、ミニドライバーの作成に KMDF を使える場合がありますが、多くの場合は WDM が出発点になります。

  1. Visual Studio の [ファイル] メニューで、[新規作成]、[プロジェクト] の順にクリックします。
  2. Visual Studio の [新しいプロジェクト] ダイアログ ボックスで、[Windows Driver] (Windows ドライバー) の [WDM] をクリックします。
  3. [名前] ボックスと [場所] ボックスに入力し、[OK] をクリックします。
  4. この時点で、空の WDM ドライバー プロジェクトができます。ソリューション エクスプローラー ウィンドウでドライバー プロジェクトを右クリックし、[追加]、[新しい項目] の順にクリックします。
  5. [新しい項目の追加] ダイアログ ボックスで [C++ ファイル (.cpp)] を選び、ファイルの名前を入力して [OK] をクリックします。

      .cpp ファイルでなく .c ファイルを作成する場合は、拡張子が .c の名前を入力します。
  6. 実装する必要がある関数について詳しくは、テクノロジのドキュメントをご覧ください。関数の実装と整理が進むにつれて、.cpp または .c ファイルの追加が必要になる場合があります。

 

 

表示:
© 2015 Microsoft