| Предыдущий | Следующий |
| ERROR_INVALID_FIELD | ERROR_INSTALL_ALREADY_RUNNING |
ERROR_DEVICE_REMOVED
Путь ввода-вывода потерял экземпляр устройства, которому принадлежал запрос
PnP различает штатное и неожиданное удаление, но оба пути в итоге разрушают программное представление устройства. После удаления устройства драйверы должны прекратить принимать новую работу, требующую оборудования, и завершить или отклонить ожидающие запросы в соответствии с состоянием удаления.
Приложение должно повторно открыть устройство только после получения нового уведомления о появлении и получения актуального пути интерфейса; старый дескриптор не становится действительным для заново перечисленного экземпляра. При отладке драйвера сопоставьте запрос с IRP_MN_SURPRISE_REMOVAL или IRP_MN_REMOVE_DEVICE и проверьте использование блокировок удаления и опустошение очередей. Если удаление было неожиданным, исследуйте события физической шины, питания или транспорта, из-за которых родительская шина сообщила об исчезновении дочернего устройства.
Что проверить
- Определите, было ли удаление штатным или неожиданным.
- Отбросьте устаревшие пути интерфейсов и дескрипторы до открытия повторно перечисленного устройства.
- Проследите событие родительской шины, из-за которого дочернее устройство исчезло.
Ссылки
- Microsoft: когда выдаются IRP удаления PnP
- Microsoft: удаление устройства в функциональном драйвере
- Microsoft: переходы состояний устройств PnP
Нужно найти другой код? Найти другой код состояния или ошибки.
