WDK Driver load issue(服务无法启动,要么是被禁用)

WDK Driver load issue (The service cannot be started, either because it is disabled)

我已经使用 windows 8.1 编写了许多驱动程序,在加载任何内容时都没有问题。当我尝试加载我在 visual studio 中构建的新基本 KMDF 驱动程序时,似乎出现了某种问题。我能够编辑源代码并编译在以前版本的 windows 上构建的驱动程序项目的新版本,我认为 WDK 才是真正的罪魁祸首。即使我编辑源代码并重新编译,我也能够加载原始项目在 Windows 8.1 中生成的驱动程序,但特别是如果我尝试通过 visual studio 创建一个新的驱动程序项目,即示例库对于内核模式驱动程序,它无法加载错误:

"The service cannot be started, either because it is disabled or because it has no enabled devices associated with it"

几点: 驱动程序每次都无法加载并出现相同的错误,我有自己来自 digicert 的经过认证的可信证书,并且我尝试禁用驱动程序签名强制执行,但都出现相同的错误。所以可以肯定地说证书不是问题。

我能分辨出新旧 WDK 源代码之间唯一的主要区别是旧版本特别有 windows 版本可以构建,但是新版本有 "universal" 尽管通过设置看起来就像它只会为 Windows 10.

构建

我没有做任何愚蠢的错误意思,我正在编译 x64 等...

我开始认为 WDK KMDF 基本模板可能存在某种问题。

我宁愿不必破坏旧项目(驱动程序)来获得成功的 "new" 驱动程序来加载。

能否请您指定它是传统驱动程序还是 pnp 驱动程序。

我遇到了类似的问题,但我犯的错误是编译了一个 pnp 驱动程序并试图将其作为旧版驱动程序加载。

为了完成而指定差异 pnp 将是一个带有 AddDevice 例程的驱动程序。此类驱动程序的启动类型应为 0,并在启动时加载。需要在添加设备例程中将驱动程序附加到特定设备对象。

遗留驱动程序没有 AddDevice 例程,我们从 DriverEntry 本身调用 IoCreateDevice。