DDKWizardを入れてみた

DDKWizardを導入するとVisualStudio上でドライバ関係のプロジェクトを扱えるようになる。Coolな点をいくつか。

  • VSの新規プロジェクトにドライバとネイティブアプリ*1が追加される。
  • VS上から「どのバージョンのDDKで」「どのターゲット環境向けか」を指定してビルドできる。
  • リソースもくっつけてくれる。しかもビルドするたびバージョン情報が更新される(SUGEEEEEE!
  • インストール後、特に設定を変更する必要がない。
  • 生成したプロジェクトは従来の build コマンドでもビルドできる。

まあとにかく便利。

導入の手順

導入テストした環境はおおよそ次の構成(具体的にはさっくり語るXP(32bit)でのドライバ開発環境で作った環境と同じです)

  1. XP-SP2
  2. VS2005 std
  3. WDK 6000と6001が共存

PDFドキュメントのCompatibilityを見ると

It is compatible with VisualStudio.NET, VisualStudio.NET 2003, VisualStudio 2005, VisualStudio 2008 and the express editions of Visual C++ 2005 and 2008.

とあるので VC++2008EE でもOKらしい。DDKのバージョンは6000まで対応しているらしく \WinDDK\6001.*****\ なディレクトリになっている場合は(今のところ)対応できない模様。そういう場合はジャンクション等で簡単に対応可能なので、一番下を参照のこと。


で、導入手順。DDKが入ってること、Compatibilityに対応するVSが入ってることが前提。複数のVSが入っている場合は、自動的にすべてに適用される。

  1. DDKWizard homepageから ddkwizard_setup.exe を落とす。
  2. 同じく ddkbuild_cmd.zip を落とす。解凍すると ddkbuild.cmd が出てくる。
  3. ddkwizard_setup.exe をインストール。
  4. ddkbuild.cmd をVSでのビルド時に参照されるディレクトリに配置する。
    • とりあえず %PATH% に置いてもおk。
    • ディレクトリはVSの [ツール] > [オプション] > [プロジェクトおよびソリューション] > [VC++ ディレクトリ] の [実行可能ファイル] にて指定されているパスです。
  5. VSの [新規プロジェクト] から追加されたプロジェクトを選択。このときBATファイルで処理できないパスにプロジェクトを作成するとビルド時にエラーになる*2。エラーになった場合はプロジェクトを移動すればOK。


DDKBUILD.CMDを選択し、ビルドに利用するDDKのバージョンを指定する(複数可)。あとはとりあえず無視。たいした内容ではないけど、詳細はドキュメントで。

ビルド構成を指定してビルド実施。


(゚Д゚)ウマー

Vistaで600*.***** に対応する

\WinDDK\6000\ というジャンクションを作ってしまえばOK.  junctionコマンドはSysinternalsからどうぞ。

c:\WinDDK>junction 6000 6001.18001

Junction v1.05 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com

Created: c:\WinDDK\6000
Targetted at: c:\WinDDK\6001.18001

c:\WinDDK>dir
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 7E62-69A0 です

 c:\WinDDK のディレクトリ

2008/10/20  21:29    <DIR>          .
2008/10/20  21:29    <DIR>          ..
2008/10/20  21:29    <JUNCTION>     6000 [\??\c:\WinDDK\6001.18001]
...

*1:Win32じゃないよ。

*2:たとえば全角文字や空白を含むパス。