| Предыдущий | Следующий |
| kIOReturnBadMessageID | kIOReturnVMError |
kIOReturnUnsupported
Неподдерживаемая операция — результат контракта
kIOReturnUnsupported означает, что запрошенная функция не поддерживается целевым объектом в текущем режиме. Значение может вернуть семейство устройств, интерфейс, пользовательский клиент, драйвер или конкретная реализация контроллера. Статус не означает отсутствие или поломку устройства; он сообщает, что этот вызов API находится вне поддерживаемого контракта выбранного объекта.
Правильная реакция — проверить возможности и конфигурацию, а не повторять запрос. Устройство может предоставлять несколько интерфейсов, альтернативных настроек или режимов, причём поддержка зависит от активного варианта. Переключать режимы нужно по протоколу устройства: повторные пробы неподдерживаемых команд могут нарушить его работу или скрыть содержательную ошибку в журналах.
Как сузить область поиска
- Установите точное семейство IOKit, интерфейс и режим устройства, вернувшие значение.
- До запроса необязательных функций прочитайте дескрипторы или свойства возможностей.
- Сравнивайте с документированной поддерживаемой конфигурацией, а не предполагайте одинаковое поведение всего оборудования одного семейства продуктов.
- Отделяйте обработку неподдерживаемой операции от путей восстановления после ошибок доступа, занятости и отсутствующего устройства.
Ссылки
- Справочник Apple по IOReturn.h
- Основы Apple IOKit: обзор архитектуры
- Apple: работа с интерфейсами USB-устройств
- Справочник API libusb
Нужно найти другой код? Найти другой код состояния или ошибки.