我刚刚在 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 是错误的工具?