次の方法で共有


テンプレートを使ったユニバーサル Windows ドライバー (UMDF 2) の作成

このトピックでは、ユーザーモード ドライバー フレームワーク (UMDF) 2 を使ってユニバーサル Windows ドライバーを作成する方法について説明します。Microsoft Visual Studio テンプレートを使って開始し、別のコンピューターにドライバーを展開してインストールします。

最初に、Visual Studio 2015 と Windows Driver Kit (WDK) 10 がインストールされていることを確認します。これらは、Windows ハードウェア デベロッパー センターからダウンロードできます。

Debugging Tools for Windows は、WDK のインストールに含まれています。

ドライバー パッケージの作成とビルド

  1. Visual Studio を開きます。[ファイル] メニューで、[新規]、[プロジェクト] の順にクリックします。

  2. [新しいプロジェクト] ダイアログ ボックスの左側のウィンドウで、[テンプレート]、[Visual C++]、[Windows Driver] (Windows ドライバー)、[WDF] の順に移動します。 [ユーザー モード ドライバー (UMDF V2)] をクリックします。

  3. [名前] フィールドに、プロジェクト名として「UmdfDriver」と入力します。

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

     

  4. "場所" フィールドに、新規プロジェクトを作るディレクトリを入力します。

  5. [ソリューションのディレクトリを作成] チェック ボックスをオンにします。[OK] をクリックします。

    [新規プロジェクト] ダイアログ ボックスのスクリーン ショット (WDF とユーザー モード ドライバーが選ばれた状態)

    Visual Studio により、1 つのプロジェクトと 1 つのソリューションが作られます。これらは、[ソリューション エクスプローラー] ウィンドウに表示されます ([ソリューション エクスプローラー] ウィンドウが表示されていない場合は、[表示] メニューの [ソリューション エクスプローラー] をクリックします)。ソリューションには、UmdfDriver という名前のドライバー プロジェクトがあります。ドライバーのソース コードを表示するには、[ソース ファイル] の下に表示されるいずれかのファイルを開きます。Driver.cpp と Device.cpp は手始めとして利用できるファイルです。

    [ソリューション エクスプローラー] のスクリーン ショット (ドライバー プロジェクトとパッケージ プロジェクトの各ファイルを表示した状態)

  6. [ソリューション エクスプローラー] ウィンドウで、[ソリューション 'UmdfDriver' (1 件のプロジェクト)] を右クリックし [構成マネージャー] をクリックします。ドライバー プロジェクトとパッケージ プロジェクトの両方に対する構成とプラットフォームを選びます。たとえば、Debug と x64 を選びます。

  7. [ソリューション エクスプローラー] ウィンドウで、[UmdfDriver] を右クリックして、[プロパティ] をクリックします。 [構成プロパティ]、[ドライバーの設定]、[全般] の順に移動し、[ターゲット プラットフォーム] が既定で [ユニバーサル] に設定されていることを確認します。

  8. ドライバーをビルドし、ドライバー パッケージを作るには、[ビルド] メニューの [ソリューションのビルド] をクリックします。Microsoft Visual Studio の [出力] ウィンドウにビルドの進行状況が表示されます ([出力] ウィンドウが表示されていない場合は、[表示] メニューの [出力] をクリックします)。

    ビルド出力に "

    >  Driver is a Universal Driver.
    

    " が含まれていることを確認します。

    ソリューションのビルドが成功したことを確認したら、Visual Studio を閉じることができます。

  9. ビルドされたドライバーを確認するには、エクスプローラーで [UmdfDriver] フォルダーに移動し、[x64\Debug\UmdfDriver] に移動します。ディレクトリには次のファイルが含まれています。

    • UmdfDriver.dll -- ユーザー モード ドライバー ファイル
    • UmdfDriver.inf -- ドライバーをインストールするときに Windows で使われる情報ファイル

ユニバーサル Windows ドライバーの展開とインストール

通常、ドライバーのテストと展開には、デバッガーとドライバーがそれぞれ別のコンピューター上で実行されます。デバッガーを実行するコンピューターをホスト コンピューター、ドライバーを実行するコンピューターをターゲット コンピューターと呼びます。ターゲット コンピューターはテスト コンピューターとも呼ばれます。

ここまでは、ホスト コンピューター上の Visual Studio を使ってドライバーのビルドを行いました。次にターゲット コンピューターの構成が必要です。「ドライバーの展開およびテストのためのコンピューターのプロビジョニング (WDK 10)」の手順に従ってください。その後で、ドライバーの展開、インストール、読み込み、デバッグを行うための準備をします。

  1. ホスト コンピューター上で、Visual Studio でソリューションを開きます。ソリューション ファイル (UmdfDriver フォルダーの UmdfDriver.sln) をダブルクリックすることもできます。

  2. [ソリューション エクスプローラー] ウィンドウで、[UmdfDriver] を右クリックして、[プロパティ] をクリックします。

  3. 次に示すように、[UmdfDriver プロパティ ページ] ウィンドウで、[構成プロパティ]、[ドライバーのインストール]、[展開] の順に移動します。

  4. [展開前にドライバーの以前のバージョンを削除する] チェック ボックスをオンにします。

  5. [Target Device Name (ターゲット デバイス名)] については、テストとデバッグ用に構成したコンピューターの名前を選んでください。

  6. [ハードウェア ID のドライバーの更新] をクリックして、ドライバーのハードウェア ID を入力します。この作業のハードウェア ID は Root\UmdfDriver です。[OK] をクリックします。

    [UmdfDriver Package プロパティ ページ] のスクリーン ショット ([ドライバーのインストール] と [展開] がクリックされた状態)  この作業のハードウェア ID は特定のハードウェアを識別するものではありません。デバイス ツリー上でルート ノードの子として設定される架空のデバイスを表します。実際のハードウェアについては、[Hardware ID Driver Update] (ハードウェア ID のドライバーの更新) ではなく、[Install and Verify] (インストールと確認) をクリックします。

    ハードウェア ID は、ドライバーの情報ファイル (INF) に記載されています。[ソリューション エクスプローラー] ウィンドウで [UmdfDriver]、[ドライバー ファイル] の順にクリックし、UmdfDriver.inf をダブルクリックします。ハードウェア ID は [Standard.NT$ARCH$] の下に記載されています。

    [Standard.NT$ARCH$]
    %DeviceName%=MyDevice_Install,Root\UmdfDriver
    

     

  7. [デバッグ] メニューの [デバッグ開始] をクリックするか、キーボードで F5 キーを押します。

  8. ドライバーがターゲット コンピューターに展開、インストールされ、読み込まれるまで待機します。数分かかる場合があります。

関連トピック

ドライバーの開発、テスト、および展開

Debugging Tools for Windows

初めてのドライバーの作成