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