Что означает код HRESULT 0xC00D103D (NS_E_WMP_JPG_UNEXPECTED_ENDOFFILE)?

 
Предыдущий Следующий
NS_E_WMP_JPG_IMAGE_TOO_BIG NS_E_WMP_JPG_SOF_UNSUPPORTED

NS_E_WMP_JPG_UNEXPECTED_ENDOFFILE

Диагностика NS_E_WMP_JPG_UNEXPECTED_ENDOFFILE

0xC00D103D соответствует NS_E_WMP_JPG_UNEXPECTED_ENDOFFILE. Практический смысл результата — поток байтов JPEG заканчивается до достижения декодером маркеров, необходимых для завершения изображения в пределах декодера графических ресурсов обложки и контракта растровых файлов; результат формируется трактом загрузки изображений обложек Windows Media Player, который распознаёт данные GIF, PNG, BMP или JPEG, проверяет заголовки конкретного формата и создаёт растровое изображение, пригодное для элемента интерфейса.

Данные, позволяющие отличить этот результат

ПолеЧто записать
Решающая проверкаЗафиксируйте длину файла, последний полный маркер и маркер либо данные scan, которые читались при достижении EOF
Идентичность артефактаРезультат автономного декодирования тех же байтов вне пакета обложки
Состояние среды выполненияимя члена архива, длину в байтах, хеш и сигнатуру файла для этого воспроизведения
Ответственный объектполя заголовка формата, размеры, глубину цвета и цветовую модель для этого воспроизведения
Результат нижнего уровняпервый недопустимый маркер/блок данных и его смещение в байтах для этого воспроизведения
Корреляцияподдерживаемый декодером режим кодирования и режим, объявленный файлом, для этого воспроизведения

Показательный случай: Частично скопированный JPEG обрывается внутри сжатых данных scan до ожидаемого конечного маркера. Пример локализует только компонент, сформировавший ошибку.

Точная проверка и исправление

  1. Подтвердите причину напрямую: зафиксируйте длину файла, последний полный маркер и маркер либо данные scan, которые читались при достижении EOF.
  2. После замены обрезанного JPEG исправной копией либо его повторного создания пересоздайте владеющий объект WMP и убедитесь, что новая операция завершается.

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

РезультатДругая граница
NS_E_WMP_JPG_IMAGE_TOO_BIGразмеры JPEG превышают допустимый для декодера предел изображения
NS_E_WMP_JPG_SOF_UNSUPPORTEDмаркер кадра JPEG указывает неподдерживаемый процесс кодирования
NS_E_WMP_JPG_FRACT_SAMPLE_NOTIMPLJPEG использует режим дробной дискретизации, не реализованный декодером WMP

Проверка исправления

После устранения выявленного предварительного условия повторите исходную операцию с новым ответственным объектом. Считайте NS_E_WMP_JPG_UNEXPECTED_ENDOFFILE устранённым только после того, как та же операция проходит этот этап; любой последующий HRESULT сохраняйте как отдельный сбой.

Технические ссылки


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