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

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

我读过 本文 这描述了实现此行为的不同方式(缓冲I/O、直接I/O或两者都不)。

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

只是一个附加的说明,你可以很容易地告诉基于驱动程序的类型 它创建设备的方式 (IoCreateDevice暗示WDM,而WdfDeviceCreate暗示WDF)。

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top