Windows driver developers are getting a new tool to share code between drivers and developers with the release of the Driver Module Framework (DMF). It is an open-source framework designed to improve and speed up the development of Windows Driver Frameworks.
“Over the years Surface organization developed many products such as Pro, Studio, Laptop, Book with unique, innovative hardware capabilities,” the Microsoft devices team wrote in a post. “To light up these capabilities, we often needed to write drivers and firmware. Even though these products had commonalities in terms of how they interfaced with the hardware, individual product teams worked in isolation and built either their own drivers from scratch or copied based on their awareness of existing code and modified to suit their needs. This did help in meeting their immediate business priorities, but led to tremendous duplication of code and maintenance overhead.”
To solve this problem, Microsoft started to rework how drivers were written and come up with a solution for reusing code and improving efficiency, serviceability and scalability, the team explained. To do this, the team started to break down individual functionalities in drivers and moved them to a shareable codebase, which led to DMF.
“Today, all WDF drivers on the team are written by using DMF. Modules are well tested and can be reused or extended later to meet new requirements. Besides having the benefit of well-architected drivers, bug fixes are now efficient. A bug fix in a Module is automatically applied to all the drivers that were built using the Module,” the team explained.
In addition to open sourcing the framework, the team is providing a number of Modules that address common issues as well as templates and sample code. “We will continue to improve the code and add new Modules in the open-source repository. Also, look forward to more sample drivers that show different features of DMF and to help you understand the various ways DMF can be used,” the team wrote.