Что означает код HRESULT 0xC00D126B (NS_E_BKGDOWNLOAD_INVALID_FILE_NAME)?

 
Предыдущий Следующий
NS_E_INTERFACE_NOT_REGISTERED_IN_GIT NS_E_IMAGE_DOWNLOAD_FAILED

NS_E_BKGDOWNLOAD_INVALID_FILE_NAME

Диагностический смысл помимо стандартного сообщения

Практический смысл 0xC00D126B / NS_E_BKGDOWNLOAD_INVALID_FILE_NAMEформирование допустимого конечного имени файла для запрошенной загрузки. Сохраните поколение объекта и результат нижнего уровня, связанные с событием NS_E_BKGDOWNLOAD_INVALID_FILE_NAME.

Почему операция может дойти до этой точки

На контрольной точке NS_E_BKGDOWNLOAD_INVALID_FILE_NAME диспетчер загрузок Player координирует окно-владельца, подключаемый модуль, идентификатор фонового задания, временные файлы и окончательное завершение либо отмену; после передачи загруженного пакета .wmd добавляются этапы распаковки и каталогизации. Граница этой страницы — формирование допустимого конечного имени файла для запрошенной загрузки.

Для NS_E_BKGDOWNLOAD_INVALID_FILE_NAME получение всех сетевых байтов ещё не означает завершение задания, перемещение временного файла или успешную распаковку и каталогизацию пакета Windows Media Download. Характерный сценарий: предоставленный сервером заголовок преобразуется в пустое или недопустимое имя файла Windows.

Матрица диагностических данных

ДанныеПочему эти данные важны: недопустимое имя файла фоновой загрузки
Объект и операция, вернувшие ошибкуGUID задания и сигнатуру Player, состояние BITS и задания, ожидаемое и фактическое число файлов, удалённые и локальные имена, временный путь, запрос завершения или отмены, подключаемый модуль и обратный вызов, apartment COM, результат распаковки WMD и первый внутренний HRESULT
Решающие сведенияудалённый URL, метаданные содержимого, предлагаемое локальное имя, правила пути и каталог назначения
Идентификатор поколенияЗафиксируйте то же поколение диска, устройства, задания или операции Player, которое вернуло NS_E_BKGDOWNLOAD_INVALID_FILE_NAME; повторное подключение или смена носителя создаёт другой тест.
Исходный результатСохраните первый результат устройства, файловой системы, COM, кодека, DirectShow, IMAPI или BITS, полученный до того, как Player сопоставил его с NS_E_BKGDOWNLOAD_INVALID_FILE_NAME.
Контролируемое сравнениеПовторите исходную операцию в контролируемом сценарии, изменив только условие «недопустимое имя файла фоновой загрузки», и сохраните точный путь, имя файла, владельца операции и первый результат файловой системы.

Матрица решений

НаблюдениеТолкование
Зафиксированные значения соответствуют границеУстраните именно исходное условие «недопустимое имя файла фоновой загрузки», затем создайте новый объект операции и проверьте результат по сохранённым данным.
Сбой нижнего уровня произошёл до NS_E_BKGDOWNLOAD_INVALID_FILE_NAMEСохраните этот более ранний HRESULT или результат устройства, поскольку NS_E_BKGDOWNLOAD_INVALID_FILE_NAME может быть лишь его отображением на уровне Player.
Тот же вызов проходит после одного изолированного измененияТакое сравнение подтверждает диагноз недопустимое имя файла фоновой загрузки, а не общий сбой установки.
После повторной проверки код изменился на NS_E_BKGDOWNLOAD_INVALID_FILE_NAMEГраница NS_E_BKGDOWNLOAD_INVALID_FILE_NAME пройдена; диагностируйте новый HRESULT как следующую независимую стадию.

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

Минимальный эксперимент

  1. Зафиксируйте 0xC00D126B NS_E_BKGDOWNLOAD_INVALID_FILE_NAME, а также точную операцию Player/API и момент первого появления ошибки.
  2. Сохраните удалённый URL, метаданные содержимого, предлагаемое локальное имя, правила пути и каталог назначения; сделайте это до извлечения носителя, повторного подключения устройства, отмены задания или пересоздания объекта Player.
  3. Для NS_E_BKGDOWNLOAD_INVALID_FILE_NAME сопоставьте результат с GUID задания и сигнатурой Player, состоянием BITS и задания, ожидаемым и фактическим числом файлов, удалёнными и локальными именами, временным путём, запросом завершения или отмены, подключаемым модулем и обратным вызовом, apartment COM, результатом распаковки WMD и первым внутренним HRESULT.
  4. Повторите исходную операцию в контролируемом сценарии, изменив только условие «недопустимое имя файла фоновой загрузки», и сохраните точный путь, имя файла, владельца операции и первый результат файловой системы.
  5. Создайте новое поколение операции и убедитесь, что исходный вызов проходит границу недопустимое имя файла фоновой загрузки.

Не объединяйте эту ошибку со следующими результатами

Связанный результатДругая диагностическая граница
NS_E_IMAGE_DOWNLOAD_FAILEDзагрузка или фиксация ресурса изображения, используемого Player либо службой содержимого
NS_E_INTERFACE_NOT_REGISTERED_IN_GITполучение COM-интерфейса из Global Interface Table в другом apartment
NS_E_BKGDOWNLOAD_FAILEDINITIALIZEзапуск общего диспетчера фоновой загрузки и базы данных заданий

Восстановление и проверка

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

Не изменяйте и не сбрасывайте связанное состояние до сохранения следующих данных: API, состояния объекта, входных параметров и исходного HRESULT для состояния «недопустимое имя файла фоновой загрузки»; иначе причина «недопустимое имя файла фоновой загрузки» будет потеряна.

Авторитетная документация


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