UMDF Version History

This topic lists versions of User-Mode Driver Framework (UMDF), the corresponding versions of the Windows operating system, and the changes made in each release.

The following table shows the release history of the UMDF library:

UMDF version Release method Included in this version of Windows Drivers using it can run on
2.33 WDK for Windows Server 2022, Windows 11 WDK Windows 11, version 21H2; Windows Server 2022 Windows 11, version 21H2; Windows Server 2022 and later
2.31 Windows 10, version 2004 WDK Windows 10, version 2004 (May 2020 Update, Vibranium) Windows 10, version 2004 and later
2.29 Not released in WDK Windows 10, version 1903 (March 2019 Update, 19H1) Windows 10, version 1903 and later
2.27 Windows 10, version 1809 WDK Windows 10, version 1809 (October 2018 Update, Redstone 5) Windows 10, version 1809 and later
2.25 Windows 10, version 1803 WDK Windows 10, version 1803 (April 2018 Update, Redstone 4) Windows 10, version 1803 and later
2.23 Windows 10, version 1709 WDK Windows 10, version 1709 (Fall Creators Update, Redstone 3) Windows 10, version 1709 and later
2.21 Windows 10, version 1703 WDK Windows 10, version 1703 (Creators Update, Redstone 2) Windows 10, version 1703 and later
2.19 Windows 10, version 1607 WDK Windows 10, version 1607 (Anniversary Update, Redstone 1) Windows 10, version 1607, Windows Server 2016 and later
2.17 Windows 10, version 1511 WDK Windows 10, version 1511 (November Update, Threshold 2) Windows 10, version 1511, Windows Server 2016 and later
2.15 Windows 10 WDK Windows 10, version 1507 (Threshold 1) Windows 10, version 1507, Windows Server 2016 and later
2.0 Windows Driver Kit (WDK) 8.1 Windows 8.1 Windows 8.1 and later
1.11 Windows Driver Kit (WDK) 8 Windows 8 Windows Vista and later
1.9 Windows 7 WDK Windows 7 Windows XP and later
1.7 Windows Server 2008 WDK Windows Vista with Service Pack 1 (SP1), Windows Server 2008 Windows XP and later
1.5 Windows Vista WDK Windows Vista Windows XP and later

You can use the Windows Driver Kit (WDK) with Microsoft Visual Studio 2019 to build drivers that run on Windows 10 and later.

For help determining what version of WDF to use, see Which framework version should I use?.

For information about the new features for UMDF drivers in Windows 10, see What's New for WDF Drivers.

UMDF Version 2.33

  • For devices that specify SystemManagedIdleTimeout or SystemManagedIdleTimeoutWithHint in the WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE enumeration, when calling the WdfDeviceStopIdle macro with WaitForD0 set to FALSE, if the device is still in D0 and the idle timeout period has not yet elapsed, WdfDeviceStopIdle returns STATUS_SUCCESS (in previous versions this resulted in a return value of STATUS_PENDING).
  • WdfDeviceWdmAssignPowerFrameworkSettings function now supports UMDF.
  • WDF_POWER_FRAMEWORK_SETTINGS structure has two new members (PoFxDeviceFlags and DirectedPoFxEnabled) and can now be used with UMDF. For UMDF, only the Size, PoFxDeviceFlags, and DirectedPoFxEnabled members are used. Other fields are ignored and must be set to zero. The framework does this automatically when a UMDF driver calls the WDF_POWER_FRAMEWORK_SETTINGS_INIT function.

UMDF Version 2.31

UMDF Version 2.29

Unchanged from version 2.27.

UMDF Version 2.27

UMDF Version 2.25

UMDF Version 2.23

UMDF Version 2.21

UMDF Version 2.19

There are no changes or additions for UMDF Version 2.19.

UMDF Version 2.17

This version adds UMDF support for the following existing interfaces:

For more information, see Dispatching IRPs to I/O Queues.

UMDF Version 2.15

Here is the list of updated DDIs for version 2.15:

  • The new WdfDeviceOpenDevicemapKey method allows a driver to access subkeys and values under HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.

  • A UMDF driver can call WdfIoTargetWdmGetTargetFileHandle to obtain a file handle to the next-lower kernel-mode driver in its stack. The driver can write data to that handle, bypassing the framework's abstractions for sending I/O to the local I/O target.

  • A UMDF driver can request that the underlying bus driver re-enumerate it. See WdfDeviceSetFailed.

  • Setting the UmdfDirectHardwareAccess directive is no longer always necessary for devices that have connection resources. See Specifying WDF Directives in INF Files.

UMDF Version 2.0

In addition to the shared functionality described in Getting Started with UMDF, UMDF version 2.0 adds:

UMDF Version 1.11

Version 1.11 adds the following driver-supplied callback interfaces and event callback functions:

Version 1.11 adds the following framework-supplied interfaces:

Version 1.11 adds the following capabilities to UMDF-based drivers:

UMDF Version 1.9

Version 1.9 adds the following driver-supplied callback interfaces:

Version 1.9 adds the following framework-supplied interfaces:

These interfaces add the following capabilities to UMDF-based drivers: