Кнопка удаления драйвера отключена - PullRequest
2 голосов
/ 01 апреля 2012

Я написал свой довольно простой первый драйвер для виртуального устройства. Он также имеет .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-файле, чтобы мой драйвер можно было удалить?

1 Ответ

2 голосов
/ 03 апреля 2012

Я не уверен, что это проблема, связанная с инфой.Ошибка 0xe0000231 означает ERROR_NOT_DISABLEABLE.

Невозможно удалить из системы, пока она используется.Так что проблема должна заключаться в отключении.

Вы определили какие-либо обратные вызовы закрытия / очистки?

...