Compartilhar via


Unveiling Kernel Mode Driver Framework in Windows Embedded Standard

By now, I would assume whoever reads this blog on this planet has downloaded the CTP build of Windows Embedded StandardJ. So I’ll jump into one of its new features - Kernel Mode Driver Framework (KMDF).

Kernel-Mode Driver Framework (KMDF) is a library that developers can use to develop kernel-mode drivers that support the Microsoft Windows Driver Model (WDM). The framework's library is included in the Windows Vista and later versions of the Windows Driver Kit (WDK). One can use the library, and the driver kits that include it, to develop drivers that run on Microsoft Windows 2000 and later versions of the Windows operating systems. Therefore, it’s supported on Windows Embedded Standard which is a new componentized version of Windows XP Pro OS.

In general, since more features like Power Management and Plug and Play are handled by the framework, a KMDF driver is less complicated and has less code than an equivalent WDM driver. It helps developers develop the drivers quicker and the drivers will be more reliable. This definitely benefits embedded developers as well.

According to the MSDN guide on how to build, install, test and debug KMDF drivers, a KMDF driver package must include the redistributable WDF co‑installer DLL. Its primary purpose is to install the KMDF runtime. To install the WDF co‑installer, add the appropriate DLL to the driver package and add the appropriate directives to the INF file.

What we have done in Windows Embedded Standard for KMDF is we retrieved the KMDF co-installer from the redistributable folder after a Windows Driver Kit (WDK) is installed and componentized it. The version of the co-installer in the CTP build is 1.5, aka, WdfCoInstaller01005.dll. Our test team has done a great job testing the framework with various scenarios and samples. We are looking at having the latest version 1.7 in our final release.

KMDF is also listed as one of the categories for the CTP Bug Challenge contest on the Connect site. I do encourage you build KMDF drivers with the framework in that CTP build and let us know if you have any feedback.

Enjoy the ride!

Weijuan

Comments