Удалите драйвер Windows, когда оборудование не подключено - PullRequest
4 голосов
/ 07 января 2012

Я занимаюсь разработкой приложения для Windows C ++, которое управляет контроллером двигателя, подключенным к USB.Этот контроллер опирается на драйверы Ftdibus, и он отлично работает на моем ПК.Тем не менее, на тестовом компьютере он работал, но так как я перепутал с драйверами Ftdi, как только я подключил контроллер, я получил BSoD (упоминая Ftdibus).Я хотел бы очистить драйверы, но:

  • они не отображаются в Windows "программы удаления"
  • Я не могу щелкнуть правой кнопкой мыши контроллер в диспетчере устройств и выбрал«удалить», потому что я не могу подключить контроллер (BSoD)
  • Я попробовал инструмент nirsoft , который имеет возможность удалять устройства, но он не будет работать

Я не знаю, как я могу исправить этот беспорядок?

PS: если у кого-то есть документация относительно того, как драйверы связаны с номером USB-порта, я бы с удовольствием прочитал тему

Ответы [ 2 ]

10 голосов
/ 07 января 2012

Если это Vista и более поздние версии, поддерживаемый метод удаления пакета драйвера: pnputil:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff550428(v=vs.85).aspx#deleting_a_driver_package_from_the_driver_store

Просто удаление службы является плохой идеей, это не единственное, что установка драйвера помещает в реестр.

Я пропустил вторую часть вашего поста о том, как Windows привязывает драйверы к USB-устройствам. Здесь есть хорошее описание:

http://blogs.msdn.com/b/oldnewthing/archive/2004/11/10/255047.aspx

Если вам нужна более подробная информация, не стесняйтесь связаться со мной (я специализируюсь на драйверах Windows для жизни:))

3 голосов
/ 07 января 2012

Как мне это сделать, это один из трех способов:

  1. Зайдите в диспетчер устройств, выберите меню «Вид» и выберите «Показать скрытые устройства». Найдите описание вашего устройства и выберите пункт меню «Удалить». [Легко]

  2. Вы можете использовать командную строку Service Control Manager ' SC ', чтобы удалить драйвер устройства из реестра. Вам нужно будет знать имя установленного драйвера. [Средний]

  3. Вручную удалите настройки драйвера в реестре. Используя regedit, вы можете удалить записи реестра для драйвера. Настройка реестра драйверов находится в папке «HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services». Найдите ключ имени драйвера и удалите его. [Трудно]

...