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

 
Предыдущий Следующий
kIOFireWireNoChannels kIOFireWireSeparateBus

kIOFireWireChannelNotAvailable

Выбранный канал и общая ёмкость каналов

kIOFireWireChannelNotAvailable относится к каналу, выбранному для изохронной конфигурации. Каналы FireWire являются общими ресурсами шины, и конкретный канал может быть недоступен, поскольку уже зарезервирован или не может быть захвачен в текущем поколении шины. Сам статус не доказывает, что на всей шине исчерпаны все возможные каналы.

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

Как локализовать конфликт канала

  • Зафиксируйте точный запрошенный или выбранный номер канала, набор кандидатов, если он передавался, и поколение шины FireWire в момент выделения.
  • Определите, требовала ли вызывающая сторона фиксированный канал для совместимости с протоколом или передатчик и слушатели могут использовать другой канал.
  • Сравните результат выделения до и после остановки других изохронных потоков. Изменение результата указывает на конфликт ресурсов, а не на неверно сформированную полезную нагрузку мультимедиа.
  • Не используйте повторно дескриптор канала или закэшированный результат выделения после сброса шины без проверки для нового поколения и текущего состояния диспетчера ресурсов.

Ссылки


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