1

我刚刚在 Windows 7(64 位)计算机上使用带有 WDK 8.1 的 Visual Studio 2013 Express 创建了一个 KMDF 示例驱动程序。当我构建解决方案时,我没有收到任何错误。因为我想稍后检查我的驱动程序是否正在运行,所以我将通用调试线插入到我的 DriverEntry-Routine 中:

NTSTATUS DriverEntry(...)
{
    DbgPrint("Test\n");
    // ...
}

通过 Windows 设备管理器,我可以通过添加旧设备手动安装驱动程序。当然,Windows 会抱怨驱动程序未签名的事实。但无论如何,稍后我可以在设备管理器中看到已安装的驱动程序,前面有一个警告符号:

一只忙碌的猫

使用 DebugView(来自 Sysinternals Suite)我正在等待我的调试消息出现,但没有任何反应。我在驱动程序安装期间收到的唯一调试消息是:

[1768] WdfCoInstaller: [02/07/2018 12:43.22.162] DIF_INSTALLDEVICE: Pre-Processing
[1768] WdfCoInstaller: [02/07/2018 12:43.22.168] ReadComponents:  WdfSection for Driver Service KMDFDriver1 using KMDF lib version Major 1, minor 11 
[1768] WdfCoInstaller: [02/07/2018 12:43.22.177] DIF_INSTALLDEVICE: Coinstaller version: 1.11.0
[1768] WdfCoInstaller: [02/07/2018 12:43.22.185] DIF_INSTALLDEVICE: KMDF in-memory version: 1.11.0
[1768] WdfCoInstaller: [02/07/2018 12:43.22.188] DIF_INSTALLDEVICE: KMDF on-disk version: 1.11.0
[1768] WdfCoInstaller: [02/07/2018 12:43.22.191] Service Wdf01000 is running
[1768] WdfCoInstaller: [02/07/2018 12:43.22.194] DIF_INSTALLDEVICE: Update is not required. The on-disk KMDF version is newer than or same as the version of the coinstaller
[1768] WdfCoInstaller: [02/07/2018 12:43.22.305] DIF_INSTALLDEVICE: Post-Processing

所以这让我想到为什么我的驱动程序没有运行?我想这与司机的签名有关,但我也不知道如何签名。或者也许 DebugView 是错误的工具?

4

1 回答 1

0

使用 OSRLOADER 加载您的设备驱动程序以进行测试。您可能还需要执行一些注册表更改。

您可以从这里下载 OSRLOADER:https ://www.osronline.com/article.cfm?article=157

查看此问题的回复,了解有关 DebugView 和注册表的下一步操作: DebugView没有输出

至于驱动程序签名,请转到项目属性并选择驱动程序签名选项卡。您可以设置用于测试的证书类型,然后创建一个随机测试证书。驱动程序将在其上进行测试的环境需要启用测试模式,或者在该会话禁用 DSE 的情况下启动。在这里你可以找到更多:

https://docs.microsoft.com/en-us/windows-hardware/drivers/install/how-to-test-sign-a-driver-package

https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option

一切都已记录在案,您只需使用简单的 Google 即可获得所有信息。仅 MSDN 就有很多关于进入驱动程序开发、驱动程序例程文档、示例源代码,有时甚至是视频的内容。

于 2018-02-09T12:45:12.737 回答