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 チェック ビルド環境) を使ってドライバーをビルドすることに相当します。

Ff554644.wedge(ja-jp,VS.85).gif構成を選択してドライバーをビルドするには

  1. 同じバージョンの SDK と WDK がコンピューターにインストールされていることを確認します。
  2. Visual Studio で、ドライバー プロジェクトまたはソリューションを開きます。
  3. [ソリューション エクスプローラー] でソリューションを右クリックし、[構成マネージャー] をクリックします。
  4. [構成マネージャー] で、ビルドの種類に応じて、アクティブ ソリューション構成 (たとえば [Debug] (デバッグ)、[Release] (リリース) など) とアクティブ ソリューション プラットフォーム (たとえば [Win32] など) を選びます。
  5. ドライバーのビルド対象であるターゲット オペレーティング システムを選択します。[ドライバー]、[全般] の順に選択し、プロジェクト プロパティに移動した後、TargetVersion プロパティを設定します。
  6. ドライバーまたはドライバー パッケージのためのプロジェクト プロパティを構成します。 展開、ドライバー署名、その他のタスクのプロパティを設定できます。詳しくは、「ドライバーとドライバー パッケージのためのプロジェクト プロパティの構成」をご覧ください。
  7. [ビルド] メニューの [ソリューションのビルド] をクリックします (Ctrl + Shift + B)。

コマンド ライン (MSBuild) を使ったドライバーのビルド

Visual Studio のコマンド プロンプト ウィンドウと Microsoft ビルド エンジン (MSBuild) を使って、コマンドラインからドライバーをビルドできます。

Ff554644.wedge(ja-jp,VS.85).gifVisual Studio のコマンド プロンプト ウィンドウを使ってドライバーをビルドするには

  1. [開発者コマンド プロンプト for VS2015] ウィンドウを開きます。

    このウィンドウで MSBuild.exe を使い、プロジェクト (.VcxProj) またはソリューション (.Sln) ファイルを指定して、任意の Visual Studio プロジェクトをビルドできます。

  2. プロジェクト ディレクトリに移動し、ターゲットに対する 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 には、StampinfWPP プリプロセッサ (WPP トレース) など、多くのコマンド ライン ツールが用意されています。これらは通常、ビルド プロセスに含まれます。これらのツールは、Visual Studio には同梱されていません。 これらのツールは、Visual Studio ビルド環境に組み込むために、MSBuild の WDK タスクとしてラップされています。 いずれかのドライバー テンプレートを使うか、変換した既存のドライバーがある場合は、これらのプロパティ ページが既にプロジェクトに存在していることがあります。そうでない場合は、関連するファイルの種類 (たとえば、メッセージ コンパイラの .mc や .man ファイル) をプロジェクトやソリューションに追加すると、プロパティ ページがプロジェクトに自動的に追加されます。詳しくは、「WDK と Visual Studio のビルド環境」をご覧ください。

個別のドライバーまたはドライバー パッケージ全体のプロパティを設定できます。次の表は、特にドライバーとドライバー パッケージに対して構成できる、利用可能なプロパティの一部を示しています。

ドライバー プロジェクトのプロパティ ドライバー パッケージのプロパティ

個別のドライバー ファイルの署名プロパティ (「ドライバーの署名」をご覧ください)

ドライバー パッケージの署名プロパティ (「ドライバーの署名」をご覧ください)

ドライバー プロジェクトのカウンター マニフェスト プリプロセッサ プロパティ (CTRPP 用)

ドライバー パッケージ プロジェクトの展開プロパティ (「テスト コンピューターへのドライバーの展開」をご覧ください)

ドライバー プロジェクトのドライバー モデル設定プロパティ

ドライバー パッケージ プロジェクトのドライバーの検証ツール プロパティ

ドライバー プロジェクトのメッセージ コンパイラ プロパティ

ドライバー パッケージ プロジェクトの KMDF 検証ツール プロパティ

ドライバー プロジェクトの Stampinf プロパティ

ドライバー パッケージ プロジェクトの UMDF 検証ツール プロパティ

WPP プリプロセッサ (WPP トレース)

ドライバー パッケージ プロジェクトの Inf2Cat プロパティ (Inf2Cat ツールに関するトピックをご覧ください)

 

ドライバーのビルドに関するトラブルシューティングのヒント

WDK と Visual Studio を使ってドライバーをビルドする際の問題をトラブルシューティングする際は、以下の情報をお役立てください。

Ff554644.wedge(ja-jp,VS.85).gifVisual Studio のオプションを使ってより詳しいビルド出力を得るには

  1. [Tools]、[ Options] を順にクリックします。
  2. [プロジェクトおよびソリューション]フォルダーをクリックし、[ビルド/実行] をクリックします。
  3. [MSBuild プロジェクト ビルドの出力の詳細][MSBuild プロジェクト ビルド ログ ファイルの詳細] のオプションを変更します。 既定では、いずれも "最小" に設定されています。

関連トピック

Building in Visual Studio

異なるバージョンの Windows に対するドライバーのビルド

ユーザー モード ドライバーとデスクトップ アプリでの Microsoft C ランタイムの使用

ProjectUpgradeTool

MSBuild

既にあるソース ファイルからのドライバーの作成

WDK と Visual Studio のビルド環境

ドライバーへの署名

テスト コンピューターへのドライバーの展開