| Windows ドライバー フレームワーク (WDF) | |
|---|---|
| その他の名前 | Windows ドライバー ファンデーション |
| 開発者 | マイクロソフト |
| 安定版リリース | win-10.0.17763.1 / 2019年3月24日 ( 2019-03-24 ) |
| オペレーティング·システム | マイクロソフトウィンドウズ |
| タイプ | 開発ツール、アプリケーションプログラミングインターフェース |
| ライセンス | MITライセンス[ 1 ] |
| Webサイト | |
| リポジトリ | |
Windows Driver Frameworks(WDF、旧称Windows Driver Foundation )は、 Windows 2000以降のWindows NT用デバイスドライバの作成を支援するMicrosoftのツールとライブラリのセットです。Windows Driver Modelを補完し、Windowsドライバ開発における定型的なコードの複雑さを大幅に軽減します。Windows Vista以降にはWDFがネイティブに含まれています。Windows 2000およびWindows XPでは、WDFのアップデートが利用可能です。
WDFは、カーネルモードドライバーフレームワーク(KMDF)とユーザーモードドライバーフレームワーク(UMDF)で構成されています。[ 2 ]これらのフレームワークは、Windowsドライバー開発のための新しいオブジェクト指向プログラミングモデルを提供します。WDFの主な目的は、概念的なスケーラビリティと重複の削減です。これにより、開発者は異なる種類のドライバーに同じ概念を適用でき、ドライバーに必要なコードオーバーヘッドを削減できます。これは、Windowsドライバーモデル(WDM)とは大きく異なります。WDMでは、ドライバー開発者は基本的なドライバーを作成するために、多くの複雑な技術的詳細を完全に理解している必要があります。
概念的なスケーラビリティを実現するための鍵の一つは、KMDFとUMDFが「オプトイン」モデルを採用していることです。このモデルにより、開発者は標準的な「優れたドライバー」のデフォルトの動作を拡張・オーバーライドできます。一方、Windows Driver Modelでは、ドライバーの動作のあらゆる側面をドライバー開発者が実装する必要があります。
品種
WDF ドライバーには 3 つの種類があります。
- 標準的なカーネルモードデバイスドライバを作成するためのカーネルモードドライバフレームワーク
- ユーザー モード ドライバー フレームワークv1 (C++ COMベースの APIを使用してユーザー モード ドライバーを作成するためのフレームワーク)
- ユーザーモード ドライバー フレームワークv2 (KMDF と構文的に同等のユーザーモード ドライバーを作成するためのフレームワーク)
WDFには、ドライバー開発者が使用できる静的検証ツールも含まれています。これらのツールは、ドライバーコードによくあるエラーがないか検査したり、ドライバーコードをシミュレートしたりすることで、検出やテストが困難な問題を特定します。
バージョン
| オペレーティング·システム | KMDF 1.0 | KMDF 1.1 | KMDF 1.5 | KMDF 1.7 | KMDF 1.9 | KMDF 1.11 | KMDF 1.13 | KMDF 1.15 | KMDF 1.17 | KMDF 1.19 | KMDF 1.21 | KMDF 1.23 | KMDF 1.25 | KMDF 1.27 | KMDF 1.29 | KMDF 1.31 | KMDF 1.33 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows 11、21H2 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 |
| Windows 10、2004 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし |
| Windows 10、1903 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし |
| Windows 10、1809 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし |
| Windows 10、1803 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1709 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1703 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1607 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1511 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1507 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ8.1 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ8 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ7 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows Server 2008 | 互換性がある | 互換性がある | 互換性がある | 内蔵 | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ ビスタ | 互換性がある | 互換性がある | 内蔵 | アップデート | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows Server 2003 | 互換性がある | アップデート | アップデート | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズXP | アップデート | アップデート | アップデート | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ2000 | アップデート | アップデート | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| オペレーティング·システム | UMDF 1.5 | UMDF 1.7 | UMDF 1.9 | UMDF 1.11 | UMDF 2.0 | UMDF 2.15 | UMDF 2.17 | UMDF 2.19 | UMDF 2.21 | UMDF 2.23 | UMDF 2.25 | UMDF 2.27 | UMDF 2.29 | UMDF 2.31 | UMDF 2.33 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows 11、21H2 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 |
| Windows 10、2004 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし |
| Windows 10、1903 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし |
| Windows 10、1809 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし |
| Windows 10、1803 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1709 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1703 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1607 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1511 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows 10、1507 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ8.1 | 互換性がある | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ8 | 互換性がある | 互換性がある | 互換性がある | 内蔵 | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ7 | 互換性がある | 互換性がある | 内蔵 | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows Server 2008 | 互換性がある | 内蔵 | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows Vista SP1 | 互換性がある | 内蔵 | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズ ビスタ | 内蔵 | アップデート | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| Windows Server 2003 | アップデート | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
| ウィンドウズXP | アップデート | アップデート | アップデート | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
参照
参考文献
- ^ 「Windows ドライバー フレームワーク」 . GitHub . Microsoft . 2017年2月15日閲覧。
- ^ Windows 7 ドライバー用カーネルモードドライバーフレームワーク
- ^ 「KMDF バージョン履歴」。Microsoft Docs。Microsoft。 2018年10月1日。
- ^ 「UMDF バージョン履歴」。Microsoft Docs。Microsoft。 2018年10月1日。
外部リンク
- 公式サイト

- Windows Driver Foundation を使用したドライバー開発(Orwick と Smith 著)
- Windows ドライバー キット
- OSR Online(WDF、KMDF、Windows ドライバ開発に関する多くの記事を含む)
- 有名な Windows ドライバ開発者である Walter Oney が執筆した、Wayback MachineのWindows Driver Framework の紹介(2016 年 1 月 25 日アーカイブ)
- 基本的な WDF カーネルモードドライバーの構築と展開、CodeProject
- OSR USB FX2 用 WDF USB カーネルモードドライバーの開発、CodeProject
- MiniFilter Framework、Windows ファイル システム フィルター ドライバー フレームワーク