Что означает код HRESULT 0xC00D1B84 (NS_E_ARCHIVE_SAME_AS_INPUT)?

 
Предыдущий Следующий
NS_E_CODEC_UNAVAILABLE NS_E_SOURCE_NOTSPECIFIED

NS_E_ARCHIVE_SAME_AS_INPUT

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

Практический смысл NS_E_ARCHIVE_SAME_AS_INPUT (0xC00D1B84) не ограничивается стандартным сообщением выше. Код указывает, что в настройке архива и локального выхода сравнение канонических путей обнаружило: архивный выход перезапишет один из входных файлов.

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

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

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

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

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

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

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

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

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

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

РезультатПочему это другая граница
NS_E_NOTARCHIVINGоперация, допустимая только при архивации, выдана при отсутствии активного приёмника архива
NS_E_RECORDQ_DISK_FULLочередь временной записи достигает настроенного порога минимального свободного места
NS_E_ARCHIVE_FILENAME_NOTSETзапуск локальной архивации без имени файла назначения

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

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

Не перезаписывайте и не удаляйте частичный архив до фиксации его пути, размера и временных меток; эти сведения позволяют различать ошибки имени, места на диске и архиватора в сеансе, возвращающем NS_E_ARCHIVE_SAME_AS_INPUT.

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


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