我遇到内核模式驱动程序的经验很少。这是我正在尝试做的事情:
我读过 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)。
最佳答案
问题中有很多不一致之处。首先,KMDF
是 WDF
的一个子集(在谈论内核驱动程序时,它是唯一相关的 WDF
部分),所以没有两者之间的矛盾。每个内核驱动程序本质上都是一个 WDM
驱动程序。 KMDF
是WDM
中的一个框架,KMDF
驱动一般都叫KMDF
驱动,不用说了WDM
。 WDM
驱动通常是指不使用任何额外框架的驱动,例如KMDF
。其次,WDK
与 VS2012/2013 集成,除了 WDK 之外,您还必须安装它才能获取模板。第三,WDM
模板确实出现在列表中。如果没有,我建议重新安装 WDK
和 VS
。
关于c - 为什么 Windows Driver Kit 中没有 WDM 内核模式驱动程序模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24016441/