| Предыдущий | Следующий |
| NS_E_WMP_MF_CODE_EXPIRED | NS_E_WMP_HME_STALEREQUEST |
NS_E_WMP_HME_NOTSEARCHABLEFORITEMS
На каком этапе остановился Player
Символьный результат NS_E_WMP_HME_NOTSEARCHABLEFORITEMS сужает значение 0xC00D0FC1 к условию отсутствия поддержки поиска элементов HME: выбранный контейнер HME не объявляет поддержку поиска отдельных элементов. Сохраняйте сведения о конкретном ограничении поиска, даже если последующее сообщение сводит его к общей медиаошибке.
Для дополнительной проверки зафиксируйте класс/возможности контейнера и точный предикат поиска; это полезнее переустановки проигрывателя или одновременного изменения нескольких несвязанных настроек.
Состояние, которое стоит сохранить
Зафиксируйте состояние до очистки состояния проигрывателя:
- Решающая проверка: зафиксируйте класс/возможности контейнера и точный предикат поиска.
- Артефакт: канонический локальный, UNC- или URL-путь и идентификатор файла.
- Состояние: идентификатор медиаобъекта или идентификатор контейнера/элемента HME.
- Идентичность объекта: поколение сканирования или поиска и запрос, который его заменил.
- Исходные данные: первый HRESULT медиатеки или файловой системы до сводного результата уровня Player.
- Корреляция: тип медиатеки, идентификатор базы данных и профиль пользователя, которому принадлежит операция.
Записывайте в журнал пути, хэши, идентификаторы, смещения и HRESULT. Не включайте в журналы секретные и не относящиеся к сбою данные.
Воспроизведение без потери диагностических данных
- Найдите первый компонент, вернувший исходный HRESULT, и отметьте это событие как отсутствие поддержки поиска HME.
- Сохраните входные данные и идентичность объекта сбойной операции до того, как резервный путь или очистка WMP изменит состояние.
- Восстановите непосредственно предшествовавшее успешное состояние и определите вызов или событие, после которого возник сбой.
- Проведите проверку для этого кода: зафиксируйте класс/возможности контейнера и точный предикат поиска.
- Внесите минимальное исправление: перечислите содержимое контейнера либо выберите область, поддерживающую поиск, вместо принудительного поиска элементов; затем повторите исходную операцию.
Что успешно выполняется до этого сбоя
Учитывайте два правила. Добавление элемента в медиатеку не перемещает сам файл, а запись медиатеки может сохраниться после недоступности пути или общего объекта. Кроме того, запросы сканирования, поиска и Home Media Experience имеют состояние, поэтому устаревшие идентификаторы и перекрывающиеся операции следует отличать от ошибок формата файла.
Показательный случай: Устройство отправляет поисковый запрос виртуальному контейнеру, который поддерживает только просмотр. Пример локализует только компонент, сформировавший ошибку.
Связанные HRESULT с другими границами отказа
| Результат | Другая граница |
|---|---|
NS_E_WMP_HME_STALEREQUEST | Запрос HME относится к более старому состоянию библиотеки или навигации |
NS_E_WMP_HME_INVALIDOBJECTID | идентификатор объекта Home Media Experience больше не разрешается в текущем представлении общей библиотеки |
NS_E_WMP_FILESCANALREADYSTARTED | цикл сканирования файлов библиотеки уже выполняется |
Если NS_E_WMP_HME_NOTSEARCHABLEFORITEMS сменяется более общим результатом «невозможно воспроизвести», «невозможно загрузить» или «операция завершилась ошибкой», сохраните более раннее событие. Поздний код может быть следствием оболочки, резервного элемента или уровня интерфейса, а не первичной причиной.
Восстановление на правильном уровне
Устраняйте NS_E_WMP_HME_NOTSEARCHABLEFORITEMS где формируется это состояние: перечислите содержимое контейнера либо выберите область, поддерживающую поиск, вместо принудительного поиска элементов. После исправления перезагрузите или пересоздайте владеющий объект, чтобы закэшированное состояние ошибки не исказило повторную проверку.
- Не удаляйте всю медиабазу до экспорта идентификаторов и путей сбойных объектов: это может уничтожить артефакт или состояние, необходимые для объяснения исходного результата.
- Не считайте успешное открытие файла доказательством актуальности записи медиатеки и представления общего доступа; это может заменить исходный HRESULT вторичной ошибкой другого уровня.
Практическая интерпретация
Используйте NS_E_WMP_HME_NOTSEARCHABLEFORITEMS, 0xC00D0FC1 и символическую фразу вместе в трассировке. Сопоставляйте их с API и идентификатором объекта.
Как убедиться, что исправлена именно причина
Повторите действие, вернувшее исходный HRESULT, и убедитесь, что тот же объект проходит прежнюю контрольную точку. Успех означает достижение следующего ожидаемого состояния загрузки, разбора, списка воспроизведения, управления или воспроизведения, а не простое исчезновение сообщения.
Технические ссылки
- Программный доступ к библиотеке — нормативный или платформенный материал для этого результата.
- Объект MediaCollection — контекст API или формата для этого результата.
- Метод MediaCollection. add — документация, используемая для определения границы-источника этого результата.
- Обработка ошибок в объектной модели WMP
Нужно найти другой код? Найти другой код состояния или ошибки.