【问题标题】:Updating KMDF Driver Without Windows Restart在不重新启动 Windows 的情况下更新 KMDF 驱动程序
【发布时间】:2020-02-15 23:10:00
【问题描述】:

我最近使用 Visual Studios 在 Windows 中编写了一个 KMDF 驱动程序。然后我在 TestMode 下继续本地安装驱动程序(例如,devcon install driver.inf hwid)。很酷,驱动程序正在运行,我可以看到驱动程序回调在 Dbgview.exe 中触发。

但现在我的驱动程序中有一个错误。所以我写了一些代码,构建了新的驱动程序,现在我想重新启动它。所以我尝试使用devcon 更新到我的新驱动程序。但是,这样做时devcon 提醒我,我需要重新启动系统才能使更改生效。这对于调试新版本的驱动真的很痛苦(请不要建议使用VM/Remote目标机,我对这个解决方案不感兴趣)。

是否可以在不重新启动 Windows 的情况下更新驱动程序?

注意,我可以看到我的驱动程序正在运行“驱动程序服务”,但我无法停止它。我想知道这项服务是否会阻止我更新驱动程序。

【问题讨论】:

    标签: windows driver kmdf


    【解决方案1】:

    由于您使用 INF 文件通过 DevCon 安装驱动程序,因此该驱动程序是 PnP 驱动程序。与旧版驱动程序不同,PnP 驱动程序不能直接停止。您需要禁用驱动控制的所有设备,即插即用管理器会自动卸载驱动。

    要禁用设备,您可以使用适当的 DevCon 命令,或在设备管理器中执行。

    【讨论】:

    • 伟大的开始。但是,当尝试禁用该设备时,我会弹出一个窗口,要求我重新启动 Windows 以禁用该设备。有没有办法在不需要重启的情况下禁用设备?我的意思是,我写了驱动程序,如果那里有什么需要改变的,那么我很好奇那可能是什么。否则,使用其他方法加载我的驱动程序是否有意义?
    • 我想我可能在这里找到了答案:docs.microsoft.com/en-us/windows-hardware/drivers/kernel/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 2021-10-06
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    相关资源
    最近更新 更多