Что означает код HRESULT 0xC00D1028 (NS_E_WMP_PNG_INVALIDFORMAT)?

 
Предыдущий Следующий
NS_E_WMP_GIF_NO_IMAGE_IN_FILE NS_E_WMP_PNG_UNSUPPORTED_BITDEPTH

NS_E_WMP_PNG_INVALIDFORMAT

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

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

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

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

Характерный случай некорректного PNG: Определение обложки корректно, но один PNG-элемент не позволяет загрузить представление. Пример локализует только компонент, сформировавший ошибку.

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

  1. Подтвердите причину напрямую: сохраните сигнатуру PNG, поля IHDR и первый сбойный chunk/CRC; сравните те же байты в строгом автономном декодере.
  2. После замены конкретного ресурса или его повторного кодирования в поддерживаемое представление пересоздайте владеющий объект WMP и убедитесь, что новая операция завершается.

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

РезультатДругая граница
NS_E_WMP_GIF_NO_IMAGE_IN_FILEконтейнер GIF имеет распознаваемую структуру, но не содержит декодируемого кадра изображения
NS_E_WMP_PNG_UNSUPPORTED_BITDEPTHPNG объявляет глубину цвета, не поддерживаемую устаревшим декодером обложек WMP
NS_E_WMP_GIF_BAD_VERSION_NUMBERполе версии GIF либо версии декодера/библиотеки находится вне диапазона, принимаемого реализацией

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

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

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


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