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

 
Предыдущий Следующий
kIOUSBLowLatencyBufferNotPreviouslyAllocated kIOUSBPipeStalled

kIOUSBInterfaceNotFound

Запрошенное описание интерфейса отсутствует

kIOUSBInterfaceNotFound означает, что код IOUSBFamily не смог найти запрошенный интерфейс в дескрипторе активной конфигурации. В реализации интерфейс выбирается по номеру и альтернативной настройке. Поэтому значение, действительное до сброса, перенастройки, смены режима прошивки или замены устройства, может стать недействительным, даже если идентификаторы производителя и продукта выглядят прежними.

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

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

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

Ссылки


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