Kernel-Mode Driver Framework

Kernel-Mode Driver Framework (KMDF)
Developer(s)Microsoft
Stable release
1.27 / March 24, 2019; 5 years ago (2019-03-24)
Repositorygithub.com/microsoft/Windows-Driver-Frameworks
Written inC, C++
Operating systemMicrosoft Windows
TypeDevice-driver development platform
LicenseMIT License
Websitedocs.microsoft.com/en-us/windows-hardware/drivers/kernel/

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[a] and later releases. It is one of the frameworks included in the Windows Driver Frameworks.[1] The current version is 1.27.

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

Notes

  1. ^ The original release of KMDF only supported Windows XP and Server 2003. Support for Windows 2000 was added in KMDF version 1.1.

References

  1. ^ Kernel Mode Driver Framework for Windows 7 Drivers

External links

  • Windows Driver Kit
  • Kernel-Mode Driver Framework Homepage
  • Microsoft KMDF Paper
  • v
  • t
  • e
Graphics and UIAudioMultimediaWebData accessNetworkingCommunicationAdministration and
managementComponent modelLibrariesDevice driversSecurity.NETSoftware factoriesIPCAccessibilityText and multilingual
support
  • v
  • t
  • e
Overview
Software
Applications
Video games
  • Allegiance
Programming
languages
Frameworks,
development tools
Operating systems
Other
Licenses
Forges
Related
Category