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

 
Предыдущий Следующий
kIOReturnNotOpen kIOReturnNotWritable

kIOReturnNotReadable

Возможность операции и временный сбой — разные вещи

kIOReturnNotReadable означает, что чтение не поддерживается для запрошенного объекта или операции. В отличие от тайм-аута или состояния неготовности, это обычно несоответствие возможности или режима. Интерфейс только для управления, поток только для записи, выходная конечная точка или служба, открытая через неверный API, могут законно отклонить чтение при полностью исправном оборудовании.

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

Что следует проверить

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

Ссылки


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