0

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

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

我读过这篇文章,其中描述了您可以完成此行为的不同方式(缓冲 I/O、直接 I/O 或两者都不是)。

我的问题是……这篇文章的代码代表了您构建WDM驱动程序的方式,我希望能够使用 Windows 驱动程序工具包创建 WDM KMDF 项目模板,但是当我下载了 Windows 驱动程序工具包时(WDK),唯一的 KMDF 驱动程序模板是用于WDF驱动程序的。MSDN 有一篇文章描述了两者之间的差异。这对我来说有点奇怪。我期望得到一个开箱即用的模板,我可以修改它以像我链接的文章中那样工作,但我没有看到它。为什么没有 WDM KMDF 驱动程序的模板?

只是一个补充说明,您可以很容易地根据它创建设备的方式来判断驱动程序的类型(IoCreateDevice 表示 WDM,而 WdfDeviceCreate 表示 WDF)。

4

1 回答 1

3

这个问题有很多矛盾之处。首先,KMDF是 的一个子集(在谈论内核驱动程序时WDF它是唯一相关的部分),因此两者之间没有矛盾。WDF每个内核驱动程序本质上都是一个WDM驱动程序。KMDF是一个框架,WDM驱动KMDF程序通常被称为,好吧,KMDF驱动程序,不用说WDMWDMdriver 通常是指不使用任何附加框架的驱动程序,例如KMDF. 其次,WDK与VS2012/2013集成,除了WDK之外,您必须安装它才能获得模板。第三,WDM模板确实出现在列表中。如果你没有它,我建议重新安装WDKand VS

于 2014-06-03T13:43:56.357 回答