Что означает код HRESULT 0xC00D10BF (NS_E_PLAYLIST_CONTAINS_ERRORS)?

 
Предыдущий Следующий
NS_E_DISPLAY_MODE_CHANGE_FAILED NS_E_CHANGING_PROXY_NAME

NS_E_PLAYLIST_CONTAINS_ERRORS

Диагностика NS_E_PLAYLIST_CONTAINS_ERRORS в настройках Player или playback graph

NS_E_PLAYLIST_CONTAINS_ERRORS (0xC00D10BF) возвращается, когда playlist загружен как container, но хотя бы один дочерний item завершился ошибкой.

Для NS_E_PLAYLIST_CONTAINS_ERRORS, отделите конфигурацию Network object, возможности graph, graphics presentation, выбор stream и владение COM до изменения воспроизводимого содержимого. For NS_E_PLAYLIST_CONTAINS_ERRORS, зафиксируйте, что Player уже успел выполнить, поскольку последующие retries часто заменяют исходные данные. Конкретное отклонённое условие — playlist загружен как container, но хотя бы один дочерний item завершился ошибкой.

Граница конфигурации или графа

AllStat уже предоставляет стандартное пользовательское описание для NS_E_PLAYLIST_CONTAINS_ERRORS; этот custom block вместо этого выделяет дополнительную техническую границу. Более ранний успех поиска файла, network connection, создания parser или graph не доказывает, что последующая NS_E_PLAYLIST_CONTAINS_ERRORS операция допустима.

Контрольная точка этого случая: HRESULTs отдельных items, URLs элементов, порядок indexes, варианты rollover и продолжают ли воспроизводиться допустимые entries. Контролируемое сравнение для NS_E_PLAYLIST_CONTAINS_ERRORS таково: создайте новый list только из первого сбойного item и воспроизведите его собственный HRESULT напрямую.

Ближайшее различие: NS_E_WMP_MULTIPLE_ERROR_IN_PLAYLIST суммирует несколько поставленных в очередь сбоев; этот код также может сопровождать частично пригодный list.

Состояние, которое нужно зафиксировать до изменения настроек

Что зафиксироватьПочему это важно для NS_E_PLAYLIST_CONTAINS_ERRORS
Объект или ресурсHRESULTs отдельных items, URLs элементов, порядок indexes, варианты rollover и продолжают ли воспроизводиться допустимые entries
Снимок состоянияЗафиксируйте openState/playState Player или фазу операции, идентификатор объекта и точную временную метку возврата NS_E_PLAYLIST_CONTAINS_ERRORS.
Первый результат нижнего уровняСохраните самый ранний результат Win32, Winsock, COM, parser, codec, DRM или device, появившийся до NS_E_PLAYLIST_CONTAINS_ERRORS.
Данные для сравненияДля NS_E_PLAYLIST_CONTAINS_ERRORS используйте один заведомо исправный случай, проходящий тот же API, protocol и component path при изменении только отклонённого предварительного условия.

Проверка с изменением одной переменной

  1. Начните с исходного вызова и запишите 0xC00D10BF вместе с его объектом и фазой операции.
  2. До изменения системы соберите HRESULTs отдельных items, URLs элементов, порядок indexes, варианты rollover и сведения о продолжении воспроизведения допустимых entries.
  3. Используйте тест с одной переменной: создайте новый list только из первого сбойного item и воспроизведите его собственный HRESULT напрямую.
  4. Для NS_E_PLAYLIST_CONTAINS_ERRORS, повторите на новом объекте, если исходный объект создан до изменения configuration, device или resource.
  5. Для NS_E_PLAYLIST_CONTAINS_ERRORS, проверяйте ожидаемую следующую операцию, а не только первоначальное open или создание объекта.

Интерпретация следующего состояния

Результат повторной проверкиИнтерпретация
Тот же NS_E_PLAYLIST_CONTAINS_ERRORS на том же объектеДля NS_E_PLAYLIST_CONTAINS_ERRORS управляющее состояние или значение не изменилось либо caller повторно использует объект, созданный до соответствующего изменения.
Новый объект работает успешноНа NS_E_PLAYLIST_CONTAINS_ERRORS повлияли lifetime, cached configuration или устаревшее состояние playlist/graph.
Появляется более поздний HRESULTОтклонённое условие — playlist загружен как container, но хотя бы один дочерний item завершился ошибкой — устранено для NS_E_PLAYLIST_CONTAINS_ERRORS; диагностируйте новый код на его собственном уровне.
Для NS_E_PLAYLIST_CONTAINS_ERRORS сбой возникает только у одного item или endpointДля NS_E_PLAYLIST_CONTAINS_ERRORS данные указывают на специфичное для ресурса состояние data, rights, routing или device, а не на общий сбой Player.

Действия, скрывающие причину

  • рассмотрение агрегированного HRESULT как первопричины для каждого item.
  • Не отбрасывайте первое NS_E_PLAYLIST_CONTAINS_ERRORS возникновение многократными вызовами Play, open, save или retry; более поздние события могут заменить исходное состояние.
  • Для NS_E_PLAYLIST_CONTAINS_ERRORS, не публикуйте credentials, private URLs, license material или полные headers защищённого содержимого; сохраняйте только редактированные identifiers, lengths, hashes и protocol fields.

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

Сохраняйте данные до и после изменения для NS_E_PLAYLIST_CONTAINS_ERRORS чтобы пересоздание объекта или замена content не были ошибочно приняты за случайный успех retry.


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