首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WDM驱动程序、KMDF驱动程序和UMDF驱动程序有什么区别?

WDM驱动程序、KMDF驱动程序和UMDF驱动程序有什么区别?
EN

Stack Overflow用户
提问于 2013-05-15 23:45:29
回答 2查看 12.8K关注 0票数 18

在Visual Studio 2012中创建Windows驱动程序项目时,您有许多不同的选项可供选择。

有一个page on MSDN可以帮助你为你的设备选择正确的驱动程序模型。然而,它没有清楚地解释WDM、KMDF和UMDF驱动程序类型之间的确切区别,以及何时选择哪种型号。

我正在寻找关于WDM、KMDF和UMDF驱动程序模型之间的差异的解释,以便Windows驱动程序开发新手可以很容易地选择正确的模型。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-16 00:01:30

简而言之:

  • WDM代表视窗驱动模型。每个内核驱动程序本质上都是一个WDM,driver.
  • KMDF代表内核模式驱动程序框架。这是一个框架,它封装和隐藏了驱动程序开发人员必须涉及的许多操作系统编程方面,即使它与驱动程序的业务逻辑无关。一些功能在KMDF框架中是不存在的,并且在不使用框架的情况下需要原生内核调用(但在大多数情况下,它不是case).
  • UMDF代表用户模式驱动框架。它是KMDF的一个补充框架,它们共同组成了WDF (视窗驱动框架)。UMDF允许在用户模式下创建驱动程序,具有用户模式编程与内核模式的所有优点。当然,与KMDF/WDM驱动程序相比,UMDF驱动程序具有局限性,并且在大多数情况下,它将需要至少具有一些functionality.

的内核对应程序

您引用的页面相当全面。您应该深入了解它以获得更深的理解。

票数 24
EN

Stack Overflow用户

发布于 2013-11-07 22:31:42

我喜欢来自MSDN的文章:Differences Between WDM and KMDF

  • WDM是自即插即用设备驱动程序(>=Win2k)以来的驱动程序模型。在此模型中,您必须处理与您的功能无关的功能。Walter ( Microsoft Windows Driver Model编程)将这些功能外包给reusing.
  • WDF/kmdf的外部设备驱动程序库,试图简化设备驱动程序的开发。可以覆盖函数或使用默认处理程序。内存和队列的管理得到了极大的简化和保护。
  • UMDF尝试在用户模式下使用与内核模式下的函数调用类似的函数调用。

希望不会太晚。第一次看到问题日期是我写完文章的时候!

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16569526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档