WDM vs WDF Drivers, in Plain English
Two driver frameworks that shape almost every Windows device driver written in the last twenty years — what changed and why developers prefer the newer one.
Two driver frameworks that shape almost every Windows device driver written in the last twenty years — what changed and why developers prefer the newer one.
WDM was Windows' first unified driver framework, introduced with Windows 98 and Windows 2000. It gave driver developers a single set of APIs that worked across consumer Windows and business-grade NT-line Windows for the first time.
WDM is powerful, but it is also notoriously hard to write correctly. A small mistake can cause a blue screen at any privilege level, and many Windows kernel crashes over the decades have been traced back to subtle WDM driver bugs.
WDF was introduced in 2007 as a higher-level wrapper around the same underlying kernel APIs. It comes in two flavours: a Kernel-Mode Driver Framework for kernel-mode drivers and a User-Mode Driver Framework for user-mode drivers. Both make it dramatically easier to write a correct, leak-free driver.
Most new Windows drivers today are written using WDF, not raw WDM. The result is fewer crashes, faster development, and drivers that more easily survive years of Windows updates.
End users almost never know which framework a driver uses, but they feel the difference in stability. Newer drivers tend to use one of these frameworks, which is one reason modern Windows is generally more stable than older versions.
When you upgrade an old device's driver and it suddenly behaves much better on a new Windows, the cause is sometimes a quiet rewrite from WDM to WDF.
The questions readers send us most often on this topic.
Yes, but mostly for legacy drivers. Almost all new Windows drivers are written with WDF instead.
The kernel-mode framework runs in the kernel; the user-mode framework runs in user space. The user-mode option is safer but cannot reach the lowest layers of hardware directly.
Windows' frameworks coexist on the same Windows install, but a given device's driver is built around one or the other.
Hand-picked articles that pair well with this one.
We translate the technical so you can focus on using your computer rather than fighting it.