| Предыдущий | Следующий |
| NS_E_INCOMPATIBLE_PUSH_SERVER | NS_E_USE_FILE_SOURCE |
NS_E_END_OF_PLAYLIST
Что означает NS_E_END_OF_PLAYLIST на уровне ответственного API
Когда этот результат (0xC00D32C8) появляется, первый заблокированный переход — достижение конечной позиции при перечислении списка воспроизведения, а не ошибка открытия медиафайла. На практике проверку метаданных конца списка воспроизведения нужно восстанавливать по тем же URL, stream, поколению объекта и последовательности вызовов.
Метаданные Windows Media могут относиться к файлу или потоку и поступать из заголовка ASF, вычисляемых attributes, online/cache provider или обработчика конкретного формата. Возможности чтения, редактирования, locale и query schema независимы друг от друга при диагностике условия «конец списка воспроизведения». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Эксперимент с метаданными только для чтения
- Запишите
0xC00D32C8, этот результат, точную операцию и время первого сбоя. - Сохраните идентификатор файла или содержимого, metadata provider, номер потока, имя и тип атрибута, locale, возможность чтения или редактирования и первый результат API метаданных.
- Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса.
- Выполните один изолированный тест: сбросить перечисление playlist на первую запись и повторить чтение, не считая штатный конец последовательности ошибкой открытия.
- Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы.
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии.
Что завершилось и что не завершилось
До этой контрольной точки предыдущая настройка могла завершиться успешно, однако этап «достижение конечной позиции при перечислении списка воспроизведения, а не ошибка открытия медиафайла» не был завершён. Поэтому в журнале нужны и последний успешный вызов, и этот результат.
Целевое сравнение: сбросить перечисление playlist на первую запись и повторить чтение, не считая штатный конец последовательности ошибкой открытия. Оно меняет спорное предварительное условие, не меняя идентичность мультимедиа и несвязанные параметры компьютера.
Данные об атрибуте, схеме и локали
| Зафиксируйте | Как это помогает выделить он |
|---|---|
| Вызов-владелец | Зафиксируйте метод API, идентификатор объекта, поток или callback и временную метку для контрольной точки «конец списка воспроизведения». |
| Решающие значения | идентификатор файла или содержимого, metadata provider, номер потока, имя и тип атрибута, locale, возможность чтения или редактирования и первый результат API метаданных |
| Поколение объекта | Отметьте, когда были созданы reader, writer, graph, URL object, streaming session или metadata provider; устаревшее состояние может воспроизвести он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний статус codec, COM, socket, DNS, parser или provider до него; более поздние сообщения интерфейса менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «конец списка воспроизведения», изменив только отклонённое предварительное условие. |
Интерпретация ответа поставщика
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает этот код | Значения, определяющие контрольную точку «конец списка воспроизведения», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | На результат повлияли lifetime объекта или cached state он; исправьте пересоздание объекта вместо применения обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT | Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии format, graph, URL, network или metadata для состояния «достижение конечной позиции при перечислении списка воспроизведения, а не ошибка открытия медиафайла». |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного content, URL, publishing point, stream, attribute или object, а не на общий сбой системы для состояния «достижение конечной позиции при перечислении списка воспроизведения, а не ошибка открытия медиафайла». |
Действия, вводящие в заблуждение
- не удаляйте metadata cache или tags до сохранения provider, key атрибута, типа и locale, которые привели к результату при проверке «достижение конечной позиции при перечислении списка воспроизведения, а не ошибка открытия медиафайла».
- Не стирайте данные о первом появлении он многократными повторами; callbacks и reconnect могут заменить полезное исходное состояние более поздней ошибкой оболочки.
- Не публикуйте учётные данные, материалы защищённого содержимого или полные закрытые URL. Записывайте обезличенные identifiers, lengths, hashes и поля protocol, необходимые для воспроизведения этой контрольной точки.
Близкие результаты не взаимозаменяемы
Основное различие: Штатное достижение конца playlist нужно отличать от ошибки открытия или разбора отдельного элемента.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_USE_FILE_SOURCE | Сравните ответственный API и первое отклонённое значение: этот HRESULT относится к соседней контрольной точке и не обязан иметь ту же причину, что он. |
NS_E_PROPERTY_NOT_FOUND | Используйте состояние объекта и порядок операций, чтобы определить, какой код является исходным, если оба появляются в одной трассировке. |
NS_E_PROPERTY_READ_ONLY | Сохраните он отдельно, если он появляется только после устранения условия он. |
Технические ссылки
- Возможности метаданных Windows Media
- Получение атрибутов метаданных
- Задание атрибутов метаданных
- Объект редактора метаданных
- Реестр HRESULT Microsoft
Сохраните трассировку после исправления, чтобы более поздний результат pipeline не был ошибочно принят за повтор этой границы при трассировке пути конца списка воспроизведения.
Нужно найти другой код? Найти другой код состояния или ошибки.