【问题标题】:Driver's uninstall button is disabled驱动程序的卸载按钮被禁用
【发布时间】:2012-04-01 14:14:23
【问题描述】:

我已经为虚拟设备编写了相当简单的第一个驱动程序。它还有一个 .inf,我使用 devcon.exe 安装驱动程序。

它安装良好且功能正常,但我的问题是当我尝试卸载它时:devcon.exe 无法卸载它,并且在设备管理器中,驱动程序的卸载、回滚和禁用按钮被禁用。我现在主要关心的是卸载按钮。

我的驱动程序实现了DriverObject->DriverUnload。我查看了 msdn 文档,目前我找不到任何用于驱动程序的 DDUninstall INF 部分。

当我查看 %WinDir%\inf\setupapi.app.log 时,当我尝试使用 devcon.exe 将其删除时,我看到以下错误:

>>>  [DIF_REMOVE - ROOT\HIDCLASS\0000]
>>>  Section start 2012/04/01 20:52:22.237
      cmd: devcon.exe  remove HID\MyDriver
!!!  dvi: Default installer: failed!
!!!  dvi: Error 0xe0000231: The device cannot be disabled.
<<<  Section end 2012/04/01 20:52:22.252
<<<  [Exit status: FAILURE(0xe0000231)]

我在代码或 .inf 文件中是否缺少任何东西以便可以卸载我的驱动程序?

【问题讨论】:

    标签: driver msdn inf device-manager wdf


    【解决方案1】:

    我不确定这是一个与 inf 相关的问题。错误 0xe0000231 表示 ERROR_NOT_DISABLEABLE。

    您在使用它时无法卸载。所以问题应该是禁用。

    您是否定义了任何关闭/清理回调?

    【讨论】:

    • 问题为你打开了几天,当我也找到答案时我收到了这个答案:))。是的,因为树木,我再次没有看到森林:驾驶员的报告描述符除其他外,用于多点触控设备,并且窗户将我的驾驶员“置于监管之下”。我删除了它,现在我可以禁用和卸载。还是谢谢你:)
    【解决方案2】:

    Windows 不允许您在设备运行时禁用子设备。卸载根设备最简单的方法是使用DiUninstallDevice

    参考:https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-setupapi-to-uninstall-devices-and-driver-packages

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 2016-09-20
      相关资源
      最近更新 更多