| Предыдущий | Следующий |
| ERROR_SYSTEM_HIVE_TOO_LARGE | ERROR_VOLSNAP_PREPARE_HIBERNATE |
ERROR_DRIVER_FAILED_PRIOR_UNLOAD
Windows не смогла загрузить драйвер, поскольку прежняя версия ещё находится в памяти
PnP-драйверы выгружаются только после удаления устройств и объектов устройств и достижения диспетчером ввода-вывода безопасной точки. Новый образ не может заменить код, всё ещё активный в стеке. Поэтому ошибка относится к жизненному циклу драйвера, а не копированию файла.
Определите экземпляры устройств, использующие старый драйвер, и не удерживают ли стек открытые дескрипторы или незавершённое удаление. Неожиданное удаление и перезапуск UMDF также могут ждать закрытия клиентами дескрипторов. Для драйвера ядра проверьте отсоединение и удаление каждого FDO/фильтра и освобождение глобальных ссылок. Перезагрузка заменит образ, но повторяемый отказ при разработке указывает на необходимость трассировки выгрузки или удаления устройства.
Что проверить
- Перечислите экземпляры и стеки, всё ещё связанные со старым драйвером.
- Проверьте открытые дескрипторы и ожидающую обработку удаления до замены файла.
- В коде драйвера проверьте удаление устройств, detach и очистку глобальных ссылок.
Ссылки
- Microsoft: удаление устройства в функциональном драйвере
- Microsoft: переходы состояния PnP-устройств
- Microsoft: когда выдаются remove IRP
Нужно найти другой код? Найти другой код состояния или ошибки.
