| Предыдущий | Следующий |
| kIOUSBLowLatencyFrameListNotPreviouslyAllocated | kIOUSBInterfaceNotFound |
kIOUSBLowLatencyBufferNotPreviouslyAllocated
Буфер полезной нагрузки недействителен для этого пути отправки
kIOUSBLowLatencyBufferNotPreviouslyAllocated относится к буферу данных низколатентного изохронного запроса. IOUSBFamily не нашёл предварительной подготовки памяти полезной нагрузки, переданной запросу. Это отличается от kIOUSBLowLatencyFrameListNotPreviouslyAllocated: тот результат относится к записям состояния отдельных кадров, а этот — к самим байтам аудио, видео или другой полезной нагрузки.
Изменение размера пакета, числа кадров или логики callback не исправит неподготовленный буфер. Требуемая подготовка должна быть выполнена до отправки запроса, а тот же подготовленный объект памяти должен оставаться действительным до окончания его использования асинхронным путём завершения.
Диагностический список
- Определите точный указатель полезной нагрузки, длину, направление, конечную точку и вызов подготовки low-latency buffer, использованный для этого запроса.
- Проверьте, не перешёл ли запрос после подготовки на другой объект памяти, включая изменённый буфер, скопированную оболочку или временный объект.
- Раздельно учитывайте владение буфером данных и списком кадров в журналах и коде очистки; подготовка одного не доказывает подготовку другого.
- При перенастройке, отмене или удалении устройства выведите старые подготовленные буферы из обращения до повторного открытия интерфейса и подготовки замен.
Ссылки
- Apple: коды ошибок IOUSBFamily
- Apple: завершение низколатентного изохронного ввода-вывода
- Заголовочный файл IOKit SDK: интерфейсы низколатентных USB-буферов
Нужно найти другой код? Найти другой код состояния или ошибки.
