Что означает код возврата ядра macOS 0xE00002C0 (kIOReturnNoDevice)?

 
Предыдущий Следующий
kIOReturnIPCError kIOReturnNotPrivileged

kIOReturnNoDevice

Что означает этот результат

kIOReturnNoDevice — результат IOKit для операции, целевое устройство или служба которой больше недоступны. Он часто возникает после отключения периферийного устройства, повторного перечисления USB-устройства, исчезновения накопителя или завершения объекта службы, предоставившего дескриптор пользовательскому процессу. Само число не указывает шину: значения IOKit общие для многих семейств оборудования.

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

Полезные действия для восстановления

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

Ссылки


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