| Предыдущий | Следующий |
| NS_S_WMP_LOADED_PNG_IMAGE | NS_S_WMP_LOADED_JPG_IMAGE |
NS_S_WMP_LOADED_BMP_IMAGE
Windows Media Player загрузил изображение BMP
NS_S_WMP_LOADED_BMP_IMAGE — это HRESULT 856130 (0x000D1042) Windows Media. В AllStat он описан как «BMP-файл успешно загружен». Бит severity указывает на неошибочный результат, однако значение передаёт конкретное состояние, которое нельзя сводить к обычному S_OK.
В устаревшем конвейере Windows Media или состоянии Player этот статус означает успешную загрузку BMP-файла. Приложение должно сохранять NS_S_WMP_LOADED_BMP_IMAGE до проверки точного состояния, обозначенного этим возвращаемым значением.
Что должно быть истинно перед принятием результата
Для этого статуса убедитесь, что структура bitmap и размер декодированного ресурса допустимы для интерфейса или скина. Документированное условие нужно подтвердить, чтобы NS_S_WMP_LOADED_BMP_IMAGE не было принято за несвязанный успешный результат.
Любой переход состояния, произошедший до этого статуса , должен учитываться при откате, продолжении и планировании повторов.
Где встречается этот статус
- Этот статус может возвращаться в callbacks источника, reader, writer или renderer Windows Media; фиксируйте точный метод и состояние объекта, а не интерпретируйте константу вне контракта этого вызова.
- Этот статус может возвращаться при автоматизации через Windows Media Player SDK; фиксируйте точный метод и состояние объекта, а не интерпретируйте константу вне контракта этого вызова.
- Этот статус может возвращаться в состояниях media graph, playlist, image, rights или buffering; фиксируйте точный метод и состояние объекта, а не интерпретируйте константу вне контракта этого вызова.
Поскольку этот статус является информационным статусом, языковая оболочка может показать его как успех и скрыть символическое различие. Сохраняйте исходный HRESULT, пока не отработана ветвь, специфичная для этого кода.
Последовательность диагностики
- Зафиксируйте исходное значение
0x000D1042до того, как оболочки, знаковое десятичное форматирование, исключения или общая обработка успеха заменят исходный статус. - Определите операцию, вернувшую этот статус, включая интерфейс или callback, сборку компонента, поток, процесс и фазу машины состояний.
- Для этого статуса подтвердите решающее условие: структура bitmap и размер декодированного ресурса допустимы для интерфейса или скина.
- Проверьте каждый выходной параметр, счётчик, массив статусов, буфер, callback, состояние задачи, временную метку медиа, голос транзакции или security token, остающийся частью контракта этого статуса.
- Сравните состояние непосредственно до и после этого статуса; success severity не гарантирует завершения необязательной работы или высокоуровневого действия, которого ожидал вызывающий код.
- Воспроизведите этот статус на минимальном входе, сохраняющем то же условие, затем измените только зафиксированную причину и повторите операцию.
Данные и телеметрия
- Для этого статуса сохраните поля заголовка bitmap.
- Для этого статуса сохраните размеры и глубину цвета.
- Для этого статуса сохраните размер декодированных данных в байтах.
- Для этого статуса сохраните исходный пакет.
- Для этого статуса сохраните целевой элемент управления.
Также зафиксируйте ns_s_wmp_loaded_bmp_image_operation, ns_s_wmp_loaded_bmp_image_state_before, ns_s_wmp_loaded_bmp_image_state_after, время UTC, идентификаторы процесса и потока, версию компонента и идентификатор корреляции. Для этого статуса используйте обезличенную телеметрию, сохраняя только стабильные технические идентификаторы, необходимые для различения операции.
Правильная обработка и восстановление
Перед показом проверьте размеры, глубину цвета и потребление памяти. Успешная загрузка BMP не отменяет ограничений на размер несжатого изображения.
Повторяйте операцию только после документированного изменения входных данных или состояния. Для этого статуса используйте следующее действие, определённое конкретным кодом; не считайте все информационные HRESULT сигналом к повтору.
Практический сценарий
Bitmap панели инструментов загружается из пакета скина. Хост проверяет глубину цвета и размеры до создания поверхности вывода.
Регрессионный тест должен воспроизвести этот статус, проверить соответствующие выходные данные и состояние, затем изменить только решающее условие и убедиться в ожидаемом соседнем результате или обычном завершении.
Отличие от соседних результатов
Этот статус нужно отличать от обычного S_OK и от значений того же семейства API, у которых бит severity указывает на сбой; документированное состояние определяет следующее действие.
Сравнение этого статуса со связанными состояниями не позволяет применить восстановление после ошибки к нормальному состоянию.
Рекомендации разработчикам и администраторам
Пакет данных для поддержки по этому статусу должен содержать первые данные конкретного компонента и эффективную конфигурацию. Ответ службы поддержки для этого статуса должен сохранять исходное условие до того, как перезапуск или неизменный повтор его сотрёт.
Для этого статуса определите владельца повтора, отмены, очистки и сообщения пользователю. Восстановление для этого статуса должно быть ограничено конкретной задачей, каталогом, транзакцией, контекстом, медиаграфом или поставщиком.
Ссылки
- Microsoft: коды ошибок Windows Media Format SDK — официальный материал Microsoft для интерпретации этого статуса.
- Microsoft: Windows Media Player SDK — официальный материал Microsoft для интерпретации этого статуса.
- Microsoft: событие buffering в Windows Media Player — официальный материал Microsoft для интерпретации этого статуса.
- Microsoft: значения HRESULT — официальный материал Microsoft для интерпретации этого статуса.
Нужно найти другой код? Найти другой код состояния или ошибки.