为什么Windows Driver Kit中没有WDM内核模式驱动程序模板?

时间:2014-06-03 13:27:12

标签: c visual-c++ wdk kmdf wdf

我遇到的内核模式驱动程序经验很少。这就是我想要做的事情:

  • 拥有一个加载驱动程序的用户模式应用程序。
  • 让用户模式应用程序写入,以便向其发送指令。
  • 让驱动程序将RDMSR指令发送到Intel芯片。
  • 将结果返回给用户模式应用程序。

我读过this article,它描述了实现此行为的不同方式(缓冲I / O,直接I / O或两者都没有)。

我的问题是这个...文章的代码表示构建 WDM 驱动程序的方式,我希望能够使用Windows驱动程序创建WDM KMDF项目模板套件,但是当我下载Windows驱动程序工具包(WDK)时,唯一的KMDF驱动程序模板用于 WDF 驱动程序。 MSDN has an article describing the differences between the two。这对我来说很奇怪。我期待得到一个开箱即用的模板,我可以修改它像我链接的文章一样工作,但我没有看到它。为什么没有WDM KMDF驱动程序的模板?

只是补充一点,你可以很容易地根据way it creates the device来判断驱动程序的类型(IoCreateDevice意味着WDM,而WdfDeviceCreate意味着WDF)。

1 个答案:

答案 0 :(得分:3)

这个问题存在很多不一致之处。首先,KMDFWDF的一个子集(在讨论内核驱动程序时它是唯一相关的WDF部分),因此两者之间没有矛盾。每个内核驱动程序本质上都是WDM驱动程序。 KMDF WDM中的KMDF框架KMDFWDM驱动程序通常被称为WDM驱动程序,而不提及KMDFWDK驱动程序通常是指不使用任何其他框架的驱动程序,例如WDM。其次,WDK与VS2012 / 2013集成,除了WDK之外,您必须安装它才能获取模板。第三,VS模板确实出现在列表中。如果您没有,我建议您重新安装{{1}}和{{1}}。