Что означает код HRESULT 0xC00D1B62 (NS_E_AUDIODEVICE_UNEXPECTED)?

 
Предыдущий Следующий
NS_E_AUDIODEVICE_BUSY NS_E_AUDIODEVICE_BADFORMAT

NS_E_AUDIODEVICE_UNEXPECTED

Где Encoder формирует этот результат

0xC00D1B62 (NS_E_AUDIODEVICE_UNEXPECTED) обозначает инициализацию аудиозахвата после обнаружения устройства вне распознанной ошибки занятости или отклонения формата. Для NS_E_AUDIODEVICE_UNEXPECTED важной диагностической границей является объект Encoder, проверяющий это состояние; более позднее диалоговое окно «не удалось начать кодирование» может скрыть точный источник.

Для живого аудиовхода подключаемый модуль источника должен открыть выбранную конечную точку и согласовать поток, совместимый с WAVEFORMATEX, прежде чем группа источников сможет быть подготовлена в сеансе, возвращающем NS_E_AUDIODEVICE_UNEXPECTED. Владение устройством и поддержка формата являются независимыми проверками в контрольной точке непредвиденная ошибка аудиоустройства.

Что уже завершилось успешно

Устройство, видимое в интерфейсе Encoder, всё ещё может отклонить запрошенный формат или быть монопольно занято другим процессом при построении графа кодирования в сеансе, возвращающем NS_E_AUDIODEVICE_UNEXPECTED. В типичном случае непредвиденная ошибка аудиоустройства конечная точка перечисляется, но драйвер захвата завершается ошибкой при создании своего потокового вывода. Наблюдение NS_E_AUDIODEVICE_UNEXPECTED следует проверять на объекте, сформировавшем ошибку, а не считать общим сбоем кодека или операционной системы.

Снимок состояния для сохранения

ПолеЧто сохранить
Решающие значенияHRESULT драйвера или подключаемого модуля, идентификатор экземпляра устройства, WAVEFORMATEX и последовательность событий, предшествующая открытию
Объект, вернувший ошибкумоникер и понятное имя устройства, процесс, удерживающий конечную точку, тег WAVEFORMATEX, число каналов, число выборок в секунду, разрядность, выравнивание блока и HRESULT подключаемого модуля источника
Связь с сеансомто же поколение группы источников, индекс аудитории, идентификатор объекта и последовательность обратных вызовов, которые привели к NS_E_AUDIODEVICE_UNEXPECTED
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или кодека, полученный до того, как Encoder сопоставил условие с NS_E_AUDIODEVICE_UNEXPECTED
Контролируемое сравнениезаведомо рабочий сеанс, в котором изменён только параметр, указанный границей непредвиденная ошибка аудиоустройства

Как интерпретировать следующее наблюдение

НаблюдениеКак его интерпретировать
Наблюдение подтверждает этот результатРешающими данными являются HRESULT драйвера или подключаемого модуля, идентификатор экземпляра устройства, WAVEFORMATEX и последовательность событий, предшествующая открытию. Они подтверждают инициализацию аудиозахвата после обнаружения устройства вне распознанной ошибки занятости или отклонения формата в том же поколении объекта.
Наблюдение указывает на более ранний сбойЗафиксированные значения удовлетворяют правилу непредвиденная ошибка аудиоустройства, но источник, драйвер, активация COM или файловая операция раньше возвращает другой HRESULT.
Наблюдение указывает на более поздний сбойEncoder проходит эту границу — инициализацию аудиозахвата после обнаружения устройства вне распознанной ошибки занятости или отклонения формата, — но затем на следующей стадии происходит сбой кодека, архива или приёмника трансляции.
Проверка после исправленияВнесите одно изолированное изменение: воспроизведите ошибку с собственным форматом устройства и до переустановки чего-либо соберите результат драйвера нижнего уровня. После этого исходный вызов непредвиденная ошибка аудиоустройства должен пройти ту же контрольную точку.

Практическое влияние NS_E_AUDIODEVICE_UNEXPECTED ограничено переходом согласования устройства аудиозахвата, которому принадлежит инициализация после обнаружения устройства вне распознанной ошибки занятости или отклонения формата. Само по себе NS_E_AUDIODEVICE_UNEXPECTED не доказывает, что повреждены все входные данные, отсутствуют все кодеки или полностью неработоспособна установка Windows Media. В типичном случае, когда конечная точка перечисляется, но драйвер захвата завершается ошибкой при создании потокового вывода, сохраните первый сбойный вызов и идентификатор его объекта, чтобы последующая оболочка не заменила данные непредвиденная ошибка аудиоустройства.

Контролируемая последовательность диагностики

  1. Зафиксируйте 0xC00D1B62, NS_E_AUDIODEVICE_UNEXPECTED, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку.
  2. Экспортируйте текущую конфигурацию .wme или .prx, затем сохраните HRESULT драйвера или подключаемого модуля, идентификатор экземпляра устройства, WAVEFORMATEX и последовательность событий, предшествующую открытию.
  3. Для NS_E_AUDIODEVICE_UNEXPECTED проверьте предварительное условие согласования устройства аудиозахвата, не меняя одновременно источник, профиль и выходной приёмник.
  4. Выполните одно контролируемое сравнение, изменив только это условие: воспроизведите ошибку с собственным форматом устройства и до переустановки чего-либо соберите результат драйвера нижнего уровня.
  5. После изменения пересоздайте затронутый объект Encoder, а не предполагайте, что существующий граф отбросил прежнее состояние непредвиденная ошибка аудиоустройства.

Близкие HRESULT с другим смыслом

РезультатПочему это другая граница
NS_E_AUDIODEVICE_BUSYмонопольное открытие выбранной конечной точки аудиозахвата
NS_E_AUDIODEVICE_BADFORMATсогласование запрошенной структуры WAVEFORMATEX с устройством аудиозахвата
NS_E_NO_AUDIODATAсторожевой контроль обнаруживает, что открытый аудиоисточник перестал выдавать образцы

Исправление на правильном уровне

Для NS_E_AUDIODEVICE_UNEXPECTED целевое исправление состоит в воспроизведении ошибки с собственным форматом устройства и сборе результата драйвера нижнего уровня до переустановки чего-либо. Повтор имеет смысл только после изменения зафиксированного предварительного условия непредвиденная ошибка аудиоустройства.

Не меняйте одновременно аудиодрайвер, частоту дискретизации и подключаемый модуль источника; сначала сохраните точную структуру WAVEFORMATEX и первый HRESULT открытия или согласования в сеансе, возвращающем NS_E_AUDIODEVICE_UNEXPECTED.

Технические ссылки для NS_E_AUDIODEVICE_UNEXPECTED


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