| Предыдущий | Следующий |
| kIOReturnNotReadable | kIOReturnNotAligned |
kIOReturnNotWritable
Почему запись может не поддерживаться
kIOReturnNotWritable указывает на несоответствие возможности записи. Целевой объект может быть читаемым, присутствовать и во всём остальном работать, но не предоставлять путь записи для запрошенного метода, интерфейса, направления конечной точки, состояния носителя или текущей конфигурации. Это отличается от ошибки политики «только чтение»: в данном режиме устройство может просто не иметь операции записи.
Общая рекомендация «повторить позже» вводит в заблуждение. Если выбранный интерфейс не поддерживает операцию, повторы не изменят контракт. Сначала выясните, требуется ли другой режим, альтернативный интерфейс, привилегированный путь управления или отдельный управляющий запрос. Для хранилищ также отличайте отсутствие возможности записи от защиты носителя или решения политики.
Диагностические действия
- Проверьте дескриптор интерфейса и направление конечной точки, использованной для передачи.
- Установите, меняет ли конфигурация или альтернативная настройка поддерживаемые устройством пути данных.
- Проверьте выбранный API: команды управления и потоковая запись часто используют разные вызовы.
- Запишите режим устройства и состояние защиты от записи или политики, прежде чем считать результат аппаратным отказом.
Ссылки
- Справочник Apple по IOReturn.h
- Apple: работа с интерфейсами USB-устройств
- USB-IF: спецификация USB 2.0
- Справочник API libusb
Нужно найти другой код? Найти другой код состояния или ошибки.
