Site icon EfmSoft

Что означает код HRESULT 0xC00D1B7E (NS_E_NOTARCHIVING)?

 
Предыдущий Следующий
NS_E_NOSTATSAVAILABLE NS_E_INVALIDCALL_WHILE_ENCODER_STOPPED

NS_E_NOTARCHIVING

Граница сбоя в объектной модели Encoder

Практически полезная интерпретация NS_E_NOTARCHIVING (0xC00D1B7E) — это не просто стандартное сообщение, приведённое выше. Оно указывает на операция, допустимая только при архивации, выполняется при отсутствии активного archive sink.

Archive output настраивается отдельно от source capture и broadcast delivery в сеансе, который возвращает этот результат. На контрольной точке notarchiving Encoder проверяет archive type, operation, destination path, конфликт с input files, доступное место на диске и наличие действительно активной archive session.

Данные, отличающие этот код от ошибки оболочки

Live broadcast может продолжаться при сбое локальной архивации, поскольку broadcast sink и archive sink имеют разные paths и state в сеансе, который возвращает этот результат. Например, код пытается остановить архивацию после того, как предыдущий запуск архивации завершился ошибкой. Сохраните он различие до того, как уровень интерфейса преобразует результат в общую ошибку запуска, захвата или профиля.

ПолеЧто сохранить
Решающие значениясостояние архива, активная group, настройка auto-archive и последнее событие запуска/остановки архивации
Объект, вернувший ошибкуIWMEncFile.LocalFileName, тип и operation auto-archive, канонические input/output paths, свободное и зарезервированное место на диске, временную record queue, состояние архива и HRESULT файловой системы
Связь с сеансомто же поколение source group, индекс audience, идентичность объекта и последовательность callback, которые привели к этому результату
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или кодека, зафиксированный до того, как Encoder сопоставил условие с этим результатом
Контролируемое сравнениезаведомо рабочий сеанс, в котором изменяется только настройка, относящаяся к границе этого HRESULT

Интерпретация следующего измерения

НаблюдениеКак это интерпретировать
Наблюдение, подтверждающее онРешающие данные: состояние архива, активная group, настройка auto-archive и последнее событие запуска/остановки архивации. Они подтверждают, что операция, допустимая только при архивации, выполняется при отсутствии активного archive sink в том же поколении объекта.
Наблюдение, указывающее на более ранний сбойЗафиксированные значения удовлетворяют условию этого HRESULT, однако source, драйвер, COM activation или file operation раньше возвращает другой HRESULT.
Наблюдение, указывающее на более поздний сбойEncoder проходит эту границу (операция, допустимая только при архивации, выполняется при отсутствии активного archive sink), но затем на следующем этапе происходит сбой codec, archive или broadcast sink.
Проверка после исправленияПримените одно изолированное изменение: запустить архивацию до этой операции либо убрать вызов, допустимый только во время архивации. После этого исходный вызов должен пройти ту же контрольную точку.

Практическое влияние он ограничен переходом «archive and local-output configuration», которому принадлежит условие «операция, допустимая только при архивации, выполняется при отсутствии активного archive sink». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда код пытается остановить архивацию после того, как предыдущий запуск архивации завершился ошибкой, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе notarchiving.

Проверка условия без перестройки сеанса

  1. Зафиксируйте 0xC00D1B7E, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее он.
  2. Экспортируйте текущую конфигурацию .wme или .prx конфигурацию, затем зафиксируйте состояние архива, активная group, настройка auto-archive и последнее событие запуска/остановки архивации.
  3. проверяйте предварительное условие «archive and local-output configuration», не меняя одновременно source, profile и output sink.
  4. Проведите одно контролируемое сравнение, изменяя только это условие: запустить архивацию до этой операции либо убрать вызов, допустимый только во время архивации.
  5. После изменения пересоздайте соответствующий объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее недопустимое состояние.

Осторожно интерпретируйте соседние результаты

РезультатПочему это другая граница
NS_E_ARCHIVE_FILENAME_NOTSETзапуск локальной архивации без имени destination file
NS_E_ARCHIVE_SAME_AS_INPUTсравнение канонических путей обнаруживает, что archive output перезапишет input
NS_E_UNSUPPORTED_ARCHIVEOPERATIONвыбор auto-archive operation, недопустимой для выбранного archive type

Устранение и проверка

Непосредственное исправление этого случая — запустить архивацию до этой операции либо убрать вызов, допустимый только во время архивации. Пересоздайте соответствующий source group, profile или output object, повторите ту же операцию и убедитесь, что первый неуспешный HRESULT больше не возникает на контрольной точке notarchiving.

Не перезаписывайте и не удаляйте частичный archive до фиксации его path, size и timestamps; эти данные отличают ошибки naming, disk-space и writer в сеансе, который возвращает он.

Ссылки для него — диагностическая граница


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

Exit mobile version