Kernel-Mode Driver Framework
The Kernel-Mode Driver Framework (KMDF) is a driver framework developed by Microsoft as a tool to aid driver developers create and maintain kernel mode device drivers for Windows 2000[lower-alpha 1] and later releases. It is one of the frameworks included in the Windows Driver Frameworks.[1] The current version is 1.27.
Developer(s) | Microsoft |
---|---|
Stable release | 1.27
/ March 24, 2019 |
Repository | github |
Written in | C, C++ |
Operating system | Microsoft Windows |
Type | Device-driver development platform |
License | MIT License |
Website | docs |
Relationship to WDM
In general, KMDF supports drivers that were written for the Windows Driver Model, and it runs on WDM. WDM is the driver model used since the advent of Windows 98, whereas KMDF is the driver framework Microsoft advocates and uses for Windows 2000 and beyond.
In general, since more features like power management and plug and play are handled by the KMDF framework, a KMDF driver is less complicated and has less code than an equivalent WDM driver.
KMDF is object-based and built on top of WDM. It provides an object-based perspective to WDM, following the architectural mandate of its superset, WDF. The functionality is contained in different types of objects. KMDF implementation consists of:
- plug and play and power management
- I/O queues
- Direct memory access (DMA)
- Windows Management Instrumentation (WMI)
- Synchronization
See also
- Windows Driver Frameworks (WDF)
- User-Mode Driver Framework (UMDF)
Notes
- The original release of KMDF only supported Windows XP and Server 2003. Support for Windows 2000 was added in KMDF version 1.1.