Что означает код HRESULT 0xC00D1266 (NS_E_BKGDOWNLOAD_CALLFUNCTIMEOUT)?

 
Предыдущий Следующий
NS_E_BKGDOWNLOAD_CALLFUNCFAILED NS_E_BKGDOWNLOAD_CALLFUNCENDED

NS_E_BKGDOWNLOAD_CALLFUNCTIMEOUT

. Его практическая область — NS_E_BKGDOWNLOAD_CALLFUNCTIMEOUT

Интерпретация результата ожидание обратного вызова подключаемого модуля загрузки дольше допустимого времени. NS_E_BKGDOWNLOAD_CALLFUNCTIMEOUT этот этап фоновой загрузки соответствует состоянию «тайм-аут вызова функции фоновой загрузки»; сохраните GUID задания, его состояние, список файлов, временный путь и первый HRESULT.

Положение в конвейере

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

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

Данные для воспроизведения

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

Интерпретация диагностических данных

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

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

Порядок проверки

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

Похожие, но отличающиеся результаты

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

Измените только ответственное условие

Целевое исправление — устранить взаимную блокировку или блокирующую зависимость и повторить запуск с отвечающим обратным вызовом. При повторной проверке NS_E_BKGDOWNLOAD_CALLFUNCTIMEOUT зафиксируйте URL службы, сертификат сервера, подпись и код ответа, а также временные параметры запроса, чтобы подтвердить состояние «тайм-аут вызова функции фоновой загрузки».

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

Ссылки для NS_E_BKGDOWNLOAD_CALLFUNCTIMEOUT — диагностической границы


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