在Windows 7 SP1上手动安装KMDF Sample-Driver

时间:2018-02-07 13:03:03

标签: visual-studio-2013 wdk device-manager driver-signing

我刚刚在Windows 7(64位)计算机上使用带有WDK 8.1的Visual Studio 2013 Express创建了一个KMDF Sample驱动程序。当我构建解决方案时,我没有错误。由于我想稍后检查我的驱动程序是否正在运行,我将常用的Debug-Line插入到我的DriverEntry-Routine中:

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

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

a busy cat

使用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可能是错误的工具?

1 个答案:

答案 0 :(得分:0)

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

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

查看此问题的回复,了解有关DebugView和注册表的下一步操作的信息:No output from 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就有很多关于进入驱动程序开发,驱动程序例程文档,示例源代码甚至视频的内容。