| Предыдущий | Следующий |
| NS_E_WMP_UI_PASSTHROUGH | NS_E_WMP_UI_SECONDHANDLER |
NS_E_WMP_UI_OBJECTNOTFOUND
Смысл на границе, где возникает результат
Символьный результат NS_E_WMP_UI_OBJECTNOTFOUND сужает значение 0xC00D0FE5 к этому состоянию: атрибуты разобраны для объекта обложки, который так и не был создан. Сохраняйте сведения о первичном состоянии, даже если последующее окно сводит его к общей медиаошибке.
Сгенерированная часть страницы What Is уже содержит стандартное описание AllStat для этого результата. Для дополнительной проверки запишите тип и ID объекта, порядок создания и первую более раннюю ошибку, помешавшую его создать; эти данные полезнее переустановки Player или одновременного изменения нескольких несвязанных настроек.
Состояние, которое стоит сохранить
Для этого результата, зафиксируйте состояние до того, как Player продолжит обработку, перезагрузит или повторно просканирует данные либо уничтожит владеющий объект:
- Решающая проверка: запишите тип и ID объекта, порядок создания и первую более раннюю ошибку, помешавшую его создать.
- Артефакт: тип элемента управления, ID объекта и связь родитель/потомок для этого воспроизведения.
- Состояние: путь к ресурсу, декодированные размеры и атрибуты прозрачности/отображения для этого воспроизведения.
- Идентичность объекта: имя события, первый обработчик и объявление любого дублирующего обработчика для этого воспроизведения.
- Исходные данные: путь к архиву обложки, список его элементов и выбранное определение.wms для этого воспроизведения.
- Корреляция: объявление THEME/version и currentViewID для этого воспроизведения.
В журналах сохраняйте точные пути или URL, хэши, ID объектов, смещения и порядок HRESULT, когда эти данные применимы. Не включайте учётные данные, содержимое защищённых лицензий и несвязанные данные медиатеки.
Воспроизведение без потери диагностических данных
- Сохраните
0xC00D0FE5, контекст ErrorItem и поколение объекта, с которым связан этот результат. - Сравните сбойный артефакт с заведомо исправным, отличающимся только проверяемым свойством.
- Разделяйте получение данных, разбор, создание объектов, воспроизведение и сохранение, пока не станет ясно, какой этап формирует ошибку.
- Подтвердите причину напрямую: запишите тип и ID объекта, порядок создания и первую более раннюю ошибку, помешавшую его создать.
- После исправления (исправьте предшествующий сбой схемы или создания объекта, а не только удаляйте последующие атрибуты) пересоздайте владеющий объект WMP и убедитесь, что новая операция завершается.
Что успешно выполняется до этого сбоя
Эту ошибку нужно отделять от общего сбоя WMP: пакет обложки объединяет XML-определение с изображениями и скриптами, а корректность архива, корректность схемы и создание объектов во время выполнения — разные этапы. Свойства элементов управления, включая размеры изображений, минимальные/максимальные значения и поддержку дочерних элементов, проверяются уже после успешного базового разбора XML.
Характерный случай: Сбой декодирования изображения не позволяет создать элемент управления к моменту применения атрибутов. Пример локализует этап, сформировавший результат, и не предполагает одновременный отказ медиатеки, кодеков, движка обложек и ActiveX-host.
Связанные HRESULT с другими границами отказа
| Результат | Другая граница |
|---|---|
NS_E_WMP_UI_PASSTHROUGH | проверка попадания в обложке вернула внутренний результат «пропустить дальше» вместо выбора элемента управления |
NS_E_WMP_UI_SECONDHANDLER | Для события, у которого уже есть обработчик, объявлен второй обработчик |
NS_E_WMP_UI_NOSKININZIP | в архиве обложки нет файла определения.wms, который может обнаружить загрузчик |
Если NS_E_WMP_UI_OBJECTNOTFOUND сопровождается более общим результатом «невозможно воспроизвести», «невозможно загрузить» или «операция не выполнена», сохраняйте сведения о более раннем событии. Поздний код может исходить от оболочки, резервного элемента или UI-слоя, а не от первичной причины.
Восстановление на правильном уровне
Измените исходное условие, а не маскируйте симптом: исправьте предшествующий сбой схемы или создания объекта, а не только удаляйте последующие атрибуты. Повтор имеет смысл только после изменения зафиксированного условия.
- Не переименовывайте произвольный XML в.wms и не перепаковывайте обложку без сохранения относительных путей ресурсов: это может уничтожить артефакт или состояние, необходимое для объяснения
NS_E_WMP_UI_OBJECTNOTFOUND. - Не изменяйте одновременно несколько элементов управления до выявления первого сбоя схемы или создания объекта: так исходный HRESULT можно заменить вторичной ошибкой другого уровня.
Практическая интерпретация
Используйте NS_E_WMP_UI_OBJECTNOTFOUND, 0xC00D0FE5 и формулировку «объект обложки не был создан» при поиске в трассировках и базе ошибок. Держите эти ключи рядом с исходным API, ID объекта, URL или смещением файла, чтобы отличать событие от общего сообщения Player.
Как убедиться, что исправлена именно причина
Сохраните один тестовый пример, воспроизводящий 0xC00D0FE5 и один исправленный контрольный пример, меняющий только исходное условие. Исправление подтверждено, когда требуемая операция завершается без замены соседним HRESULT WMP.
Технические ссылки
- Обложки Windows Media Player — контекст API или формата для этого результата.
- Структура файла описания обложки — документация, используемая для определения границы-источника
NS_E_WMP_UI_OBJECTNOTFOUND. - Структура XML описания обложки — нормативный или платформенный материал для этого результата.
- Файлы обложек и содержимое пакета — контекст API или формата для этого результата.
Нужно найти другой код? Найти другой код состояния или ошибки.