| Предыдущий | Следующий |
| NS_E_BKGDOWNLOAD_NOJOBPOINTER | NS_E_BKGDOWNLOAD_FAILED_TO_CREATE_TEMPFILE |
NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE
Диагностический смысл помимо стандартного сообщения
Практический смысл 0xC00D1261 / NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE — отклонение фонового задания, которое не было создано или подписано как задание Player. Сохраните поколение объекта и код возврата нижнего уровня, связанные с событием NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE.
Почему операция может дойти до этой точки
На контрольной точке NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE диспетчер загрузок Player координирует окно-владельца, подключаемый модуль, идентификатор фонового задания, временные файлы и окончательное завершение либо отмену; после передачи загруженного пакета .wmd добавляются этапы распаковки и каталогизации. Граница этой страницы — отклонение фонового задания, которое не было создано или подписано как задание Player.
Для NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE получение всех сетевых байтов ещё не означает завершение задания, перемещение временного файла или успешную распаковку и каталогизацию пакета Windows Media Download. Характерный сценарий: другое приложение создаёт задание BITS, похожее на загрузку Player.
Матрица диагностических данных
| Данные | Почему эти данные важны: недопустимая сигнатура задания загрузки в фоне |
|---|---|
| Объект и операция, вернувшие ошибку | GUID задания и сигнатуру Player, состояние BITS и задания, ожидаемое и фактическое число файлов, удалённые и локальные имена, временный путь, запрос завершения или отмены, подключаемый модуль и обратный вызов, apartment COM, код возврата распаковки WMD и первый внутренний HRESULT |
| Решающие сведения | GUID задания, метаданные владельца и отображаемого имени, сигнатуру Player и процесс-создатель |
| Идентификатор поколения | Запишите то же поколение диска, устройства, задания или операции Player, которое вернуло NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE; повторное подключение или смена носителя создаёт другой тест. |
| Исходный код возврата | Сохраните первый код возврата устройства, файловой системы, COM, кодека, DirectShow, IMAPI или BITS, полученный до того, как Player сопоставил его с NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE. |
| Контролируемое сравнение | Повторите исходную операцию в контролируемом сценарии, изменив только условие «недопустимая сигнатура задания загрузки в фоне», и сохраните API, входные данные и исходный HRESULT, относящиеся к состоянию «недопустимая сигнатура задания загрузки в фоне». |
Матрица решений
| Наблюдение | Толкование |
|---|---|
| Зафиксированные значения соответствуют границе | Устраните именно исходное условие «недопустимая сигнатура задания загрузки в фоне», затем создайте новый объект операции и сверьте код возврата по сохранённым данным. |
Сбой нижнего уровня произошёл до NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE | Сохраните этот более ранний HRESULT или код возврата устройства, поскольку NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE может быть лишь его отображением на уровне Player. |
| Тот же вызов проходит после одного изолированного изменения | Такое сравнение подтверждает диагноз недопустимая сигнатура задания загрузки в фоне, а не общий сбой установки. |
После повторной проверки код изменился на NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE | Граница NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE пройдена; диагностируйте новый HRESULT как следующую независимую стадию. |
NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE ограничивает область сбоя отклонение фонового задания, которое не было создано или подписано как задание Player. Наличие NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE не доказывает общесистемный сбой мультимедиа; перед изменением не связанных компонентов Player определите операцию, которой принадлежит ошибка.
Минимальный эксперимент
- Запишите
0xC00D1261NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE, а также точную операцию Player/API и момент первого появления ошибки. - Сохраните GUID задания, метаданные владельца и отображаемого имени, сигнатуру Player и процесс-создатель; сделайте это до извлечения носителя, повторного подключения устройства, отмены задания или пересоздания объекта Player.
- Для
NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATUREсопоставьте код возврата с GUID задания и сигнатурой Player, состоянием BITS и задания, ожидаемым и фактическим числом файлов, удалёнными и локальными именами, временным путём, запросом завершения или отмены, подключаемым модулем и обратным вызовом, apartment COM, код возвратаом распаковки WMD и первым внутренним HRESULT. - Повторите исходную операцию в контролируемом сценарии, изменив только условие «недопустимая сигнатура задания загрузки в фоне», и сохраните API, входные данные и исходный HRESULT, относящиеся к состоянию «недопустимая сигнатура задания загрузки в фоне».
- Создайте новое поколение операции и убедитесь, что исходный вызов проходит границу недопустимая сигнатура задания загрузки в фоне.
Не объединяйте эту ошибку со следующими код возвратаами
| Связанный код возврата | Другая диагностическая граница |
|---|---|
NS_E_BKGDOWNLOAD_FAILED_TO_CREATE_TEMPFILE | выделение временного локального файла, используемого до завершения задания |
NS_E_BKGDOWNLOAD_NOJOBPOINTER | обращение к отсутствующему или уже освобождённому интерфейсу фонового задания |
NS_E_BKGDOWNLOAD_CANCELCOMPLETEDJOB | вызов отмены после того, как задание уже завершено и подтверждено |
Восстановление и проверка
Устраните ответственную предпосылку: игнорируйте или удалите чужое задание и создайте задание с правильным владельцем Player. Успешная повторная проверка должна пройти ту же контрольную точку invalidjobsignature, а не только скрыть сообщение другим путём интерфейса.
Не изменяйте и не сбрасывайте связанное состояние до сохранения следующих данных: API, состояния объекта, входных параметров и исходного HRESULT для состояния «недопустимая сигнатура задания загрузки в фоне»; иначе причина «недопустимая сигнатура задания загрузки в фоне» будет потеряна.
Авторитетная документация
- Интерфейсы BITS и объекты заданий.
- Завершение и отмена задания BITS.
- Возвращаемые значения BITS и ошибки состояния задания.
- Пакеты Windows Media Download.
- Создание глобальной таблицы интерфейсов COM.
Нужно найти другой код? Найти другой код состояния или ошибки.
