Что означает код ошибки Windows 654 (ERROR_DRIVER_FAILED_PRIOR_UNLOAD)?

 
Предыдущий Следующий
ERROR_SYSTEM_HIVE_TOO_LARGE ERROR_VOLSNAP_PREPARE_HIBERNATE

ERROR_DRIVER_FAILED_PRIOR_UNLOAD

Windows не смогла загрузить драйвер, поскольку прежняя версия ещё находится в памяти

PnP-драйверы выгружаются только после удаления устройств и объектов устройств и достижения диспетчером ввода-вывода безопасной точки. Новый образ не может заменить код, всё ещё активный в стеке. Поэтому ошибка относится к жизненному циклу драйвера, а не копированию файла.

Определите экземпляры устройств, использующие старый драйвер, и не удерживают ли стек открытые дескрипторы или незавершённое удаление. Неожиданное удаление и перезапуск UMDF также могут ждать закрытия клиентами дескрипторов. Для драйвера ядра проверьте отсоединение и удаление каждого FDO/фильтра и освобождение глобальных ссылок. Перезагрузка заменит образ, но повторяемый отказ при разработке указывает на необходимость трассировки выгрузки или удаления устройства.

Что проверить

  • Перечислите экземпляры и стеки, всё ещё связанные со старым драйвером.
  • Проверьте открытые дескрипторы и ожидающую обработку удаления до замены файла.
  • В коде драйвера проверьте удаление устройств, detach и очистку глобальных ссылок.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.