次の方法で共有


新しいソフトウェア ドライバーの作成

このトピックでは、Visual Studio を使用して新しいソフトウェア ドライバーの作成を開始する方法について説明します。 ソフトウェア ドライバーは、他のトピックで説明するデバイス機能ドライバー、フィルター ドライバー、およびファイル システム ドライバーとは異なります。 ソフトウェア ドライバーの詳細と、他の種類のドライバーとの違いについては、「ドライバーとは何ですか?」を参照してください。ドライバーモデルの選択。

まず、どのドライバー モデルがソフトウェア ドライバーに適しているかを判断します。 3 つのオプションは、カーネル モード ドライバー フレームワーク (KMDF)、レガシー NT ドライバー モデル、および Windows ドライバー モデル (WDM) です。 どのモデルが最適かを判断するには、「ドライバー モデルの選択」を参照してください。

ケース 1: KMDF を使用したい

  1. [ファイル]メニューから [新しいプロジェクト] を選択して、Visual Studio でドライバー パッケージを手動で作成できます。
  2. [新しいプロジェクト] ダイアログ ボックスの左側のペインで、WDFを見つけて選択します。
  3. 中央のペインで、「カーネル モード ドライバー (KMDF)」を選択します。
  4. [名前] および [場所] ボックスに入力し、[OK] を選びます。 詳細については、「テンプレートに基づいた KMDF ドライバーの作成」を参照してください。

    Note

    新しい KMDF ドライバーを作成する場合、32 文字以下のドライバー名を選ぶ必要があります。 この長さの制限は wdfglobals.h で定義されています。

  5. この時点で、ほとんどの KMDF ドライバーに必要な一般的なコードを実装するドライバー プロジェクトが完成しました。 これで、ソフトウェア ドライバーに固有のコードを提供できるようになりました。

ケース 2: レガシー NT モデルを使用したい

  1. [ファイル]メニューから [新しいプロジェクト] を選択して、Visual Studio でドライバー パッケージを手動で作成できます。

  2. Visual Studio の [新しいプロジェクト] ダイアログ ボックスの [Windows ドライバー] で、[WDM] | [WDM] を選択します。空の WDM ドライバー。

    Note

    作成するのは WDM ドライバーではありませんが、[Empty WDM Driver]\(空の WDM ドライバー\) テンプレートが必要です。

  3. [名前] および [場所] ボックスに入力し、[OK] を選びます。

  4. この時点で、空の WDM ドライバー プロジェクトが完成しました。 ソリューション エクスプローラー ウィンドウでドライバー プロジェクトを長押し (または右クリック) し、[追加]、[新しい項目] の順に選びます。

  5. [新しい項目の追加] ダイアログ ボックスで [C++ ファイル (.cpp)] を選び、ファイルの名前を入力して [OK] を選びます。

    Note

    .cpp ファイルでなく .c ファイルを作成する場合は、拡張子が .c の名前を入力します。

  6. ntddk.h をインクルードします。

  7. ソフトウェアドライバーに必要な機能を実装します。 関数を実装して整理するときに、ヘッダー ファイルと追加の .cpp または .c ファイルを追加することを決定する場合があります。

ケース 3: WDMを使用したい

ソフトウェア ドライバーに WDM を使用する可能性はほとんどありません。 ただし、その場合は、次の手順に従ってください。

  1. [ファイル]メニューから [新しいプロジェクト] を選択して、Visual Studio でドライバー パッケージを手動で作成できます。

  2. Visual Studio の [新しいプロジェクト] ダイアログ ボックスの [Windows ドライバー] [WDM] を選択します。

  3. [名前] および [場所] ボックスに入力し、[OK] を選びます。

  4. この時点で、空の WDM ドライバー プロジェクトが完成しました。 ソリューション エクスプローラー ウィンドウでドライバー プロジェクトを長押し (または右クリック) し、[追加]、[新しい項目] の順に選びます。

  5. [新しい項目の追加] ダイアログ ボックスで [C++ ファイル (.cpp)] を選び、ファイルの名前を入力して [OK] を選びます。

    Note

    .cpp ファイルでなく .c ファイルを作成する場合は、拡張子が .c の名前を入力します。

  6. wdm.h を含めます。

  7. ソフトウェアドライバーに必要な機能を実装します。 関数を実装して整理するときに、ヘッダー ファイルと追加の .cpp または .c ファイルを追加することを決定する場合があります。