Windows Driver Frameworks

{{Short description|Set of Microsoft tools and libraries}}

{{Use dmy dates|date=October 2019}}

{{Infobox software

| name = Windows Driver Frameworks (WDF)

| logo =

| screenshot =

| caption =

| other_names = Windows Driver Foundation

| author =

| developer = Microsoft

| released =

| latest release version = win-10.0.17763.1

| latest release date = {{Start date and age|2019|03|24|df=yes}}

| latest preview version =

| latest preview date =

| operating system = Microsoft Windows

| platform =

| language =

| genre = Development tool, application programming interface

| license = MIT License{{cite web |title=Windows Driver Frameworks |url=https://github.com/Microsoft/Windows-Driver-Frameworks |website=GitHub |publisher=Microsoft |access-date=2017-02-15 |df=dmy}}

}}

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. It complements Windows Driver Model, abstracting away much of the boilerplate complexity in writing Windows drivers.

WDF consists of Kernel-Mode Driver Framework (KMDF) and User-Mode Driver Framework (UMDF).[https://www.informit.com/articles/article.aspx?p=1766166 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:

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

class="wikitable"

|+ KMDF version history{{cite web |title=KMDF Version History |url=https://docs.microsoft.com/en-us/windows-hardware/drivers/wdf/kmdf-version-history |website=Microsoft Docs |publisher=Microsoft |date=2018-10-01 |df=dmy}}

Operating systemKMDF 1.0KMDF 1.1KMDF 1.5KMDF 1.7KMDF 1.9KMDF 1.11KMDF 1.13KMDF 1.15KMDF 1.17KMDF 1.19KMDF 1.21KMDF 1.23KMDF 1.25KMDF 1.27KMDF 1.29KMDF 1.31KMDF 1.33
Windows 11, 21H2

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}

Windows 10, 2004

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}}

Windows 10, 1903

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}}

Windows 10, 1809

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1803

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1709

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1703

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1607

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1511

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1507

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 8.1

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 8

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 7

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows Server 2008

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows Vista

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}|| {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows Server 2003

| {{yes2|Compatible}} || {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows XP

| {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 2000

| {{yes2|Compatible}} || {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

class="wikitable"

|+ UMDF version history{{cite web |title=UMDF Version History |url=https://docs.microsoft.com/en-us/windows-hardware/drivers/wdf/umdf-version-history |website=Microsoft Docs |publisher=Microsoft |date=2018-10-01 |df=dmy}}

Operating systemUMDF 1.5UMDF 1.7UMDF 1.9UMDF 1.11UMDF 2.0UMDF 2.15UMDF 2.17UMDF 2.19UMDF 2.21UMDF 2.23UMDF 2.25UMDF 2.27UMDF 2.29UMDF 2.31UMDF 2.33
Windows 11, 21H2

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}}

Windows 10, 2004

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}}

Windows 10, 1903

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}}

Windows 10, 1809

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1803

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} ||{{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1709

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1703

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1607

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1511

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 10, 1507

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 8.1

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes|Built-in}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 8

| {{yes2|Compatible}} || {{yes2|Compatible}} || {{yes2|Compatible}} ||{{yes|Built-in}}|| {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows 7

| {{yes2|Compatible}} || {{yes2|Compatible}} ||{{yes|Built-in}}|| {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows Server 2008

| {{yes2|Compatible}} || {{yes|Built-in}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows Vista SP1

| {{yes2|Compatible}} || {{yes|Built-in}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows Vista

| {{yes|Built-in}}|| {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows Server 2003

| {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

Windows XP

| {{optional|Update}} || {{optional|Update}} || {{optional|Update}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}} || {{n/a}}

See also

References

{{Reflist}}