Windows Driver Foundation

Windows Driver Frameworks（WDF）は Microsoft Windows 用デバイスドライバ開発に用いられるマイクロソフト製のフレームワークである。
Windows Driver Frameworks (WDF) はWindowsデバイスドライバの標準インターフェースである Windows Driver Model (WDM) をラップ・抽象化し、よりシンプルで高機能な上位インターフェースとライブラリを提供するフレームワークである。WDF を構成する主要ツールは Kernel-Mode Driver Framework (KMDF) と User-Mode Driver Framework (UMDF) である。これらのツールキットは、Windows のドライバ開発のための新しいオブジェクト指向プログラミングモデルを提供する。フレームワークの主要な目標は "Conceptual Scalability"（概念的スケーラビリティ）であり、ドライバ開発者が少数の単純な概念を学ぶだけで簡単なドライバを書けるようになり、さらに学ぶに従ってより複雑な機能のドライバを書けるようになることを意味する。これは、単純なドライバを書く場合にも複雑な技術的詳細に精通している必要がある Windows Driver Model (WDM) とは著しく異なる。
Conceptual Scalability を実現する鍵の一部は、KMDF と UMDF が "opt-in" モデルだという点にある。このモデルでは、模範的なドライバのデフォルトの動作を拡張したり、オーバーライドすることが可能である。これは、WDM でドライバの動作のあらゆる面を開発者が書いて実装する必要があったのとは対照的である。
Windows 2000 で登場し、以降の Windows 向けのデバイスドライバ開発のために用いられている。かつては "Windows Driver Foundation" (おなじく "WDF") という名称であった。
種類.
このフレームワークには2つのバリエーションがある。
基盤となるプログラミングモデルは共通である。しかし、カーネルモードのフレームワークはC言語のインタフェースを使い、ユーザーモードのフレームワークはC++のインタフェースに基づき、COMの軽量版に基づいている。
WDF にはドライバ開発者用の静的検証ツールも含まれている。これらツールは、よくあるコード上の問題やテストでは検出が難しいコード上の問題を特定することができる。