我已经使用 Windows 8.1 编写了许多驱动程序,在加载任何东西时都没有问题。当我尝试加载我在 Visual Studio 中构建的新的基本 KMDF 驱动程序时,似乎存在某种问题。我能够编辑源代码并编译在以前版本的 Windows 上构建的新版本的驱动程序项目,我认为 WDK 将是这里真正的罪魁祸首。即使我编辑源代码并重新编译,我也能够加载原始项目在 Windows 8.1 中生成的驱动程序,但特别是如果我尝试通过 Visual Studio 创建一个新的驱动程序项目,即内核模式驱动程序的示例库,它会失败加载错误:
“该服务无法启动,要么是因为它被禁用,要么是因为它没有与之关联的启用设备”
几点:驱动程序每次加载都失败并出现相同的错误,我有自己的 digicert 认证的受信任证书,并且我尝试禁用驱动程序签名强制,两者都出现相同的错误。所以可以肯定地说证书不是问题。
我能分辨出新旧 WDK 源之间的唯一主要区别是旧版本专门具有要构建的 Windows 版本,但新版本具有“通用性”,尽管通过设置看起来它只会为 Windows 10 构建。
我没有做任何愚蠢的错误意思,我正在编译 x64 等等......
我开始认为 WDK KMDF 基本模板可能存在某种问题。
我宁愿不必破坏旧项目(驱动程序)来加载成功的“新”驱动程序。