Что означает код 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 завершился ошибкой.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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