WDK を使ったドライバーのビルド
このトピックでは、Windows Driver Kit (WDK) でドライバーをビルドする方法について説明します。 WDK 10 は、Microsoft Visual Studio と完全に統合されています。ドライバーのビルドは、Visual Studio 開発環境を使って行うか、Microsoft ビルド エンジン (MSBuild) を使ってコマンド ラインから直接行うことができます。
Microsoft Visual Studio 2015 では、Microsoft Visual Studio Community 2015 を含む任意のエディションを使って、次のシステム用のドライバーをビルドできます。
- Windows 10
- Windows 8.1
- Windows 7
重要 Windows Driver Kit (WDK) 8 以降では、以前のバージョンの WDK で使われていた Windows ビルド ユーティリティ (Build.exe) が MSBuild に置き換えられています。現在の WDK は、Visual Studio プロジェクトをビルドする場合と同じコンパイラとビルド ツールを使います。以前のバージョンの WDK でビルドしたドライバー プロジェクトは、Visual Studio 環境で動作するように変換する必要があります。変換ユーティリティは、コマンド ラインから実行できます。既にあるソースから新しい Visual Studio プロジェクトを作成することによって、既にあるドライバーを変換することもできます。詳しくは、「既にあるソース ファイルからのドライバーの作成」と「WDK と Visual Studio のビルド環境」をご覧ください。
Visual Studio を使ったドライバーのビルド
ドライバーのビルドは、Visual Studio でプロジェクトまたはソリューションをビルドする方法と同じです。Windows ドライバー テンプレートを使って新しいドライバー プロジェクトを作成する場合は、テンプレートによって既定の (アクティブな) プロジェクト構成と既定の (アクティブな) ソリューション ビルド構成が定義されます。
注 WDK 8 または Windows Driver Kit (WDK) 8.1 を使って作成したプロジェクトやソリューションは、Windows Driver Kit (WDK) 10 と Visual Studio 2015 で動作するように変換できます。プロジェクトやソリューションを開く前に、ProjectUpgradeTool を実行してください。ProjectUpgradeTool は、プロジェクトとソリューションを変換し、WDK 10 を使ってビルドできるようにします。
ビルド構成の管理と編集について詳しくは、「Building in Visual Studio」をご覧ください。
既定のソリューション ビルド構成は、[Debug] (デバッグ) と [Win32] です。 Windwos 8 より前のバージョンの WDK では、このビルド構成は、[x86 Checked Build Environment] (x86 チェック ビルド環境) を使ってドライバーをビルドすることに相当します。
構成を選択してドライバーをビルドするには
- 同じバージョンの SDK と WDK がコンピューターにインストールされていることを確認します。
- Visual Studio で、ドライバー プロジェクトまたはソリューションを開きます。
- [ソリューション エクスプローラー] でソリューションを右クリックし、[構成マネージャー] をクリックします。
- [構成マネージャー] で、ビルドの種類に応じて、アクティブ ソリューション構成 (たとえば [Debug] (デバッグ)、[Release] (リリース) など) とアクティブ ソリューション プラットフォーム (たとえば [Win32] など) を選びます。
- ドライバーのビルド対象であるターゲット オペレーティング システムを選択します。[ドライバー]、[全般] の順に選択し、プロジェクト プロパティに移動した後、TargetVersion プロパティを設定します。
- ドライバーまたはドライバー パッケージのためのプロジェクト プロパティを構成します。 展開、ドライバー署名、その他のタスクのプロパティを設定できます。詳しくは、「ドライバーとドライバー パッケージのためのプロジェクト プロパティの構成」をご覧ください。
- [ビルド] メニューの [ソリューションのビルド] をクリックします (Ctrl + Shift + B)。
コマンド ライン (MSBuild) を使ったドライバーのビルド
Visual Studio のコマンド プロンプト ウィンドウと Microsoft ビルド エンジン (MSBuild) を使って、コマンドラインからドライバーをビルドできます。
Visual Studio のコマンド プロンプト ウィンドウを使ってドライバーをビルドするには
[開発者コマンド プロンプト for VS2015] ウィンドウを開きます。
このウィンドウで MSBuild.exe を使い、プロジェクト (.VcxProj) またはソリューション (.Sln) ファイルを指定して、任意の Visual Studio プロジェクトをビルドできます。
プロジェクト ディレクトリに移動し、ターゲットに対する MSbuild コマンドを入力します。
たとえば、既定のプラットフォームと構成を使って、MyDriver.vcxproj という名前の Visual Studio ドライバー プロジェクトのクリーンなビルドを行うには、プロジェクト ディレクトリに移動し、次の MSBuild コマンドを入力します:
msbuild /t:clean /t:build .\MyDriver.vcxproj
構文 - 特定の構成とプラットフォームを指定するには、次のコマンド構文を使います。
msbuild /t:clean /t:build ProjectFile/p:Configuration=<Debug|Release>/p:Platform=architecture/p:TargetPlatformVersion=a.b.c.d/p:TargetVersion=OS
たとえば、次のコマンドでは、構成が "Debug" でプラットフォームが "Win32" の、Windows 10 を対象としたユニバーサル Windows ドライバーをビルドします。
msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion=”Windows10” /p:TargetPlatformVersion=”10.0.10010.0”
TargetPlatformVersion 設定は省略可能ですが、これにより、ビルドに使うキットのバージョンを指定できます。既定では、最新のキットを使用します。
ドライバーとドライバー パッケージのためのプロジェクト プロパティの構成
プロパティ ページを使うと、ドライバーとドライバー パッケージのオプションの構成と設定を行うことができます。ドライバーの構成では、ソリューションのビルド時に自動的に署名するかどうかと、リモート テスト コンピューターに自動的に展開するかどうかを選ぶことができます。
WDK には、Stampinf、WPP プリプロセッサ (WPP トレース) など、多くのコマンド ライン ツールが用意されています。これらは通常、ビルド プロセスに含まれます。これらのツールは、Visual Studio には同梱されていません。 これらのツールは、Visual Studio ビルド環境に組み込むために、MSBuild の WDK タスクとしてラップされています。 いずれかのドライバー テンプレートを使うか、変換した既存のドライバーがある場合は、これらのプロパティ ページが既にプロジェクトに存在していることがあります。そうでない場合は、関連するファイルの種類 (たとえば、メッセージ コンパイラの .mc や .man ファイル) をプロジェクトやソリューションに追加すると、プロパティ ページがプロジェクトに自動的に追加されます。詳しくは、「WDK と Visual Studio のビルド環境」をご覧ください。
個別のドライバーまたはドライバー パッケージ全体のプロパティを設定できます。次の表は、特にドライバーとドライバー パッケージに対して構成できる、利用可能なプロパティの一部を示しています。
ドライバー プロジェクトのプロパティ | ドライバー パッケージのプロパティ |
---|---|
個別のドライバー ファイルの署名プロパティ (「ドライバーの署名」をご覧ください) |
ドライバー パッケージの署名プロパティ (「ドライバーの署名」をご覧ください) |
ドライバー プロジェクトのカウンター マニフェスト プリプロセッサ プロパティ (CTRPP 用) | ドライバー パッケージ プロジェクトの展開プロパティ (「テスト コンピューターへのドライバーの展開」をご覧ください) |
ドライバー プロジェクトのドライバー モデル設定プロパティ | |
ドライバー プロジェクトのメッセージ コンパイラ プロパティ | |
ドライバー プロジェクトの Stampinf プロパティ | |
WPP プリプロセッサ (WPP トレース) | ドライバー パッケージ プロジェクトの Inf2Cat プロパティ (Inf2Cat ツールに関するトピックをご覧ください) |
ドライバーのビルドに関するトラブルシューティングのヒント
WDK と Visual Studio を使ってドライバーをビルドする際の問題をトラブルシューティングする際は、以下の情報をお役立てください。
Visual Studio のオプションを使ってより詳しいビルド出力を得るには
- [Tools]、[ Options] を順にクリックします。
- [プロジェクトおよびソリューション]フォルダーをクリックし、[ビルド/実行] をクリックします。
- [MSBuild プロジェクト ビルドの出力の詳細] と [MSBuild プロジェクト ビルド ログ ファイルの詳細] のオプションを変更します。 既定では、いずれも "最小" に設定されています。
関連トピック
異なるバージョンの Windows に対するドライバーのビルド