Windows Driver Frameworks (WDF, formerly Windows Driver Foundation), is a set of Microsoft tools and libraries that aid in the creation of device drivers for Windows 2000 and later versions of Windows NT. It complements Windows Driver Model, abstracting away much of the boilerplate complexity in writing Windows drivers. Windows Vista and later are included WDF natively; for Windows 2000 and Windows XP, the WDF update is available.
WDF consists of Kernel-Mode Driver Framework (KMDF) and User-Mode Driver Framework (UMDF).Kernel Mode Driver Framework for Windows 7 Drivers These individual frameworks provide a new object-oriented programming model for Windows driver development. The primary goals of WDF is conceptual scalability and reduced duplication, enabling developers to apply the same concepts across different driver types and reducing the code overhead required for drivers. This differs markedly from the Windows Driver Model (WDM) which requires driver developers to be fully familiar with many complex technical details to write a basic driver.
Part of the key to achieving conceptual scalability is that KMDF and UMDF use an "opt-in" model. This model allows the developer to extend and override the default behavior of a canonical "good driver". In contrast, Windows Driver Model depends on the driver writer to implement all aspects of the driver's behavior.
Varieties There are three types of WDF drivers:
Kernel-Mode Driver Framework, for writing standard kernel-mode device drivers User-Mode Driver Framework v1, for writing user-mode drivers using a C++ COM-based API User-Mode Driver Framework v2, for writing user-mode drivers with syntactic parity to KMDF
WDF also includes a set of static verification tools for use by driver writers. These tools examine driver code for common errors and/or simulate the code of a driver in order to identify problems that are both difficult to detect and difficult to test for.
Versions + KMDF version history Operating system 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 Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista Windows Server 2003 Windows XP Windows 2000
+ UMDF version history Operating system 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 Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista SP1 Windows Vista Windows Server 2003 Windows XP
See also Windows Driver Kit
References
External links
Developing Drivers with the Windows Driver Foundation by Orwick and Smith Windows Driver Kit OSR Online, including many articles about WDF, KMDF, and Windows driver development , written by well-known Windows driver developer, Walter Oney Building and deploying a basic WDF Kernel Mode Driver, CodeProject Developing a WDF USB Kernel Mode Driver for the OSR USB FX2, CodeProject MiniFilter Framework, A Windows File System Filter Driver Framework