Что означает код HRESULT 0xC00D125F (NS_E_BKGDOWNLOAD_CANCELCOMPLETEDJOB)?

 
Предыдущий Следующий
NS_E_BKGDOWNLOAD_COMPLETECANCELLEDJOB NS_E_BKGDOWNLOAD_NOJOBPOINTER

NS_E_BKGDOWNLOAD_CANCELCOMPLETEDJOB

Где этот результат возникает в рабочем процессе Player

NS_E_BKGDOWNLOAD_CANCELCOMPLETEDJOB (0xC00D125F) обозначает вызов отмены после того, как задание уже завершено и подтверждено. Для NS_E_BKGDOWNLOAD_CANCELCOMPLETEDJOB сохраните эту границу, даже если видимое сообщение Player шире операции, которая вернула код.

Механизм

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

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

Снимок состояния

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

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

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

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

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

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

Близкие коды с другими владельцами

Связанный результатДругая диагностическая граница
NS_E_BKGDOWNLOAD_COMPLETECANCELLEDJOBвызов завершения для задания, которое уже перешло в конечное отменённое состояние
NS_E_BKGDOWNLOAD_NOJOBPOINTERобращение к отсутствующему или уже освобождённому интерфейсу фонового задания
NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATUREотклонение фонового задания, которое не было создано или подписано как задание Player

Целевое исправление

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

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

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


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