在Visual Studio 2012中创建Windows驱动程序项目时,您有许多不同的选项可供选择。
有一个page on MSDN可以帮助你为你的设备选择正确的驱动程序模型。然而,它没有清楚地解释WDM、KMDF和UMDF驱动程序类型之间的确切区别,以及何时选择哪种型号。
我正在寻找关于WDM、KMDF和UMDF驱动程序模型之间的差异的解释,以便Windows驱动程序开发新手可以很容易地选择正确的模型。
发布于 2013-05-16 00:01:30
简而言之:
WDM
代表视窗驱动模型。每个内核驱动程序本质上都是一个WDM,driver.KMDF
代表内核模式驱动程序框架。这是一个框架,它封装和隐藏了驱动程序开发人员必须涉及的许多操作系统编程方面,即使它与驱动程序的业务逻辑无关。一些功能在KMDF框架中是不存在的,并且在不使用框架的情况下需要原生内核调用(但在大多数情况下,它不是case).UMDF
代表用户模式驱动框架。它是KMDF的一个补充框架,它们共同组成了WDF
(视窗驱动框架)。UMDF允许在用户模式下创建驱动程序,具有用户模式编程与内核模式的所有优点。当然,与KMDF/WDM驱动程序相比,UMDF驱动程序具有局限性,并且在大多数情况下,它将需要至少具有一些functionality.的内核对应程序
您引用的页面相当全面。您应该深入了解它以获得更深的理解。
发布于 2013-11-07 22:31:42
我喜欢来自MSDN的文章:Differences Between WDM and KMDF
希望不会太晚。第一次看到问题日期是我写完文章的时候!
https://stackoverflow.com/questions/16569526
复制相似问题