| Предыдущий | Следующий |
| kIOUSBLowLatencyBufferNotPreviouslyAllocated | kIOUSBPipeStalled |
kIOUSBInterfaceNotFound
Запрошенное описание интерфейса отсутствует
kIOUSBInterfaceNotFound означает, что код IOUSBFamily не смог найти запрошенный интерфейс в дескрипторе активной конфигурации. В реализации интерфейс выбирается по номеру и альтернативной настройке. Поэтому значение, действительное до сброса, перенастройки, смены режима прошивки или замены устройства, может стать недействительным, даже если идентификаторы производителя и продукта выглядят прежними.
Это не тайм-аут канала и не ошибка разрешений. Исправление начинается с дерева дескрипторов, фактически предоставленного текущим экземпляром устройства. В частности, не предполагайте, что альтернативная настройка ноль содержит конечные точки другой настройки.
Что следует сравнить
- Сохраните выбранное значение конфигурации, номер интерфейса, альтернативную настройку, класс, подкласс, протокол и исходные байты дескриптора конфигурации.
- Убедитесь, что приложение запросило интерфейс, предоставленный текущим режимом устройства, а не кэшированный при предыдущем перечислении.
- После сброса или переподключения отбросьте устаревшие ссылки IOUSB на интерфейс и повторите обнаружение до открытия интерфейса.
- При смене альтернативной настройки ожидайте изменения набора каналов и заново постройте высокоуровневые привязки конечных точек по выбранному дескриптору.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.