Top 最新情報 会社概要 セミナー 製品 開発者向 サポート download 問い合せ English
Windows Linux H8マイコン FPGA シリアルポート E-Kit shsmod

Windowsデバイスドライバ開発のためのヒント


従来までのDDKとWDKの利用方法

WDK(6000)の利用について(WDK 6000 リリース時のやや古い情報)

Windows Vista RTM版(6000)の導入以降、WDKを使用した開発方法が以下のように変わりました。今後はWDKだけでWindows 2000からWindows Server LonghornまでのOSをターゲットとしたデバイスドライバを開発できるようになります

  • Vista用のデバイスドライバ

    デバイスドライバがWindows Vistaで導入された新機能に依存するWindows Vista用のデバイスドライバ、あるいはWindos Vistaの新機能と無関係の各環境用のドライバは、WDK(Windows Driver Kits)を導入して、Windows Vista and Windows Server Longhorn用Build環境で開発し、ロゴ取得にはDTMをパスする事が要求されます。

    WDKに含まれるUMDF1.5を利用してWindows XPやWindows Server 2003の各環境用のデバイスドライバを開発する場合、UMDFはWindows Vista用の拡張機能とみなすので、同じくWindows Vista and Windows Server Longhorn用Build環境で開発します。

  • Vistaでは動作しないデバイスドライバ

    デバイスドライバがWindows Vistaで導入された新機能に依存して動作しない場合、従来のプラットフォーム用のデバイスドライバは、WDKの従来プラットフォーム用の各開発環境を使用して開発を行い、DTMをパスすることが要求されます。従来のWindows Server 2003 SP1 DDKでの開発も可能ですが、HCT12によるロゴ申請は2007年6月1日までの条件で Winqual で受け付けています。それ以降は、DTM テスト結果のみが受け付けられます。

  • Vistaのほかに、Windows 2000、Windows XP、Windows 2003 Serverでも動作するデバイスドライバ

    デバイスドライバがWindows XP、Windows 2003 Server、Vistaで導入された新機能に依存しない場合、一つのドライバでこれら複数のアーキテクチャに対応させることが可能です。WDKのWindows 2000用Build環境で開発し、DTMをパスする事が要求されます。

  • Vistaのほかに、Windows XP、Windows 2003 Serverでも動作するデバイスドライバ

    デバイスドライバがWindows 2003 Server、Vistaで導入された新機能に依存せず、Windows XP以降で導入された機能に依存する場合、一つのドライバでこれら複数のアーキテクチャに対応させることが可能です。WDKのWindows XP用Build環境で開発し、DTMをパスする事が要求されます。

  • Vistaのほかに、Windows 2003 Serverでも動作するデバイスドライバ

    デバイスドライバがVistaで導入された新機能に依存せず、Windows Server 2003 SP1以降で導入された機能に依存する場合、一つのドライバでこれら複数のアーキテクチャに対応させることが可能です。WDKのWindows Server 2003用Build環境で開発し、DTMをパスする事が要求されます。

質問:今までDDKを使用して開発を行って来ました。次の開発もWindows 2000とWindows XPだけを対象としたドライバの開発なので、WDKは容量が大きくてインストールするのも面倒だし、新しい事が多くて不安もあるので、このまま古いDDKを使用して開発をしても良いのではないかと思うのですが?

答:以下の理由で最新版のWDK(6001.18002)をインストールして利用することをお勧めします。

  • WDK6001.18002はDVDに焼く必要はありますが、WLK部分を含んで4GBもあるWDK6000とは違い、約650MBの大きさです。インストールしても1GB程度の容量です。
  • WDK6001.18002では従来のWDMでWindows 2000以降のドライバの開発をサポートしていますので、Windows 2000用のビルド環境を使用すれば、基本的に古いドライバのソースをビルドすることが可能です。
  • WDK6001.18002では古いDDKに比べて多くのバグフィックスや新機能の導入が行われ、開発をサポートするprefastやSDV等の多くのツールが含まれています。
  • 新規にWDMドライバを開発する場合は、WDK6001.18002に含まれるKMDF1.7の利用をお勧めします。PnPや電源管理回りのコーディングは最小限で安定したWDFの標準モジュールを利用することができます。USBのドライバではソースコード量が5分の1以下に減る事例や、WDMでは1か月以上かかるPCIのドライバを2週間程度で開発した事例があります。
  • WDK6001.18002の開発環境は従来の互換性だけでなく、次の世代のドライバ開発への互換性を提供しますので、結果的に開発するドライバの寿命も長くなりますし、今のうちから利用して慣れておくことをお勧めします。

Windows Vista時代のデバイス・ドライバ開発:正誤表

CQ出版発行インターフェース誌2007年5月号(3月25日発売)から、「Windows Vista時代のデバイス・ドライバ開発」と題した連載記事を担当しています。
ここでは、記事の補足内容や訂正、本文中で紹介したトピックス、リンク情報などを紹介して行きます。

第1回 2007年5月号

記事のデバッグ(誤った内容の記事の修正)

  • p.142 本文 左段 device/network/WFP.mspxの下

    3) WindowsRally
    のタイトルを挿入。

  • p.142 本文 右段 driver/priorityio.mspxの下

    (HDD暗号化技術)
    の文字を削除。

  • p.145 「表1.DDKとWDKのサポート環境」の内容の修正

    先日筆者らは、Microsoft社のWDK関連の開発スタッフと直接ミーティングを持つ機会がありました。そこでの議論で、WDKのRelease Noteには重要な誤りがある事がわかりました。正しい表を以下に掲載します。

    環境 ホスト環境 ターゲット環境
    OS wlh wnet wxp w2k wlh wnet wxp w2k
    SVSP1DDK
    WDK
    凡例
    • SVSP1DDK Windows Server 2003 SP1 DDK
    • WDK Windows Driver Kitリリース版
    • wlh Windows VistaとWindows Server "Longhorn" (x86, x64, ia64)
    • wnet Windows 2003 Server SP1 (x86, x64, ia64)
    • wxp Windows XP SP2 (x86)
    • w2k Windows 2000 SP4 (x86)
    • ○ サポート
    • ― 未サポート

    灰色が修正部分

    Release NoteのWDK Build Environments節のWhen to Use This WDK項をはじめとするMicrosoftのいくつかのサイトには「Windows Server 2003 SP1以前をターゲットとする製品向けのドライバ開発には、WDKは使用せずにWindows Server 2003 SP1 DDKを使用せよ」という趣旨の説明が書いてありますが、この制限はWDKの正式版リリースとともに無くなります。詳しくは6月号で紹介しています。



Windowsデバイスドライバ開発者向けセミナー


誤りや不明な点はご指摘ください。
文責:日高亜友
Microsoft MVP for DDK (Jul 2008 - Jun 2009)

Copyright(c) 2003-2009 Device Drivers Limited