| Предыдущий | Следующий |
| 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. В типичном случае, когда относительные пути в разных полях разрешаются в один файл, сохраните первый сбойный вызов и идентификатор его объекта, чтобы последующая оболочка не заменила данные архив совпадает с входным файлом.
Проверка условия без перестройки всего сеанса
- Зафиксируйте
0xC00D1B84,NS_E_ARCHIVE_SAME_AS_INPUT, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prx, затем сохраните полностью разрешённые пути входных файлов и архива, идентификатор тома с нормализованным регистром и цели ссылок. - Для
NS_E_ARCHIVE_SAME_AS_INPUTпроверьте предварительное условие настройки архива и локального выхода, не меняя одновременно источник, профиль и выходной приёмник. - Выполните одно контролируемое сравнение, изменив только это условие: выберите файл архива, отличный от всех исходных файлов.
- После изменения пересоздайте затронутый объект 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 — диагностической границы
Нужно найти другой код? Найти другой код состояния или ошибки.