| Предыдущий | Следующий |
| NS_E_NOT_CONFIGURED | NS_E_LICENSE_REQUIRED |
NS_E_PROTECTED_CONTENT
Исследование NS_E_PROTECTED_CONTENT не теряя первый сбой
Этот результат (0xC00D0BBD) обозначает запрошенный тракт чтения, преобразования или копирования требует прав, которые для содержимого не предоставлены. Код относится к проверка медиаформата «защищённое содержимое», поэтому более позднюю сети, кодека или метаданных ошибка нужно записывать отдельно, а не заменять ею он.
Формат Windows Media разделяет профиль сжатого потока, необработанный входной формат и декодированный выход объекта чтения. Объект записи затем пакетирует образцы, применяет атрибуты и необязательные блоки расширенных данных, поэтому сбой на одной границе не доказывает нечитаемость контейнера ASF при диагностике «отсутствующие права для защищённого содержимого». В случае этот результат сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Где возникает сбой
К этому моменту компонент уже принял предыдущие предварительные условия, но не может пройти границу: запрошенный тракт чтения, преобразования или копирования требует прав, которые для содержимого не предоставлены. Успешное открытие файла, разрешение имени узла или создание COM-объекта не доказывает допустимость этой последующей операции.
Наиболее показательная проверка — открыть то же содержимое с минимальной конфигурацией объекта чтения или записи, а спорный параметр добавить только после успешного базового прохода. Если после единственного изменения тот же вызов проходит дальше, это подтверждает границу этот результат. Если нет, вернитесь к первой вложенной ошибке и не расширяйте область исправления.
Как интерпретировать следующий HRESULT
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает код | Значения, определяющие контрольную точку «отсутствующие права для защищённого содержимого», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | Время жизни или кэшированное состояние способствовало появлению этот результат; исправьте пересоздание объекта вместо применения обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT | Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии формата, графа, URL, сети или метаданных при проверке «запрошенный тракт чтения, преобразования или копирования требует прав, которые для содержимого не предоставлены». |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного содержимого, URL, точки публикации, потока, атрибута или объекта, а не на общий сбой системы. |
Данные профиля и образцы
| Зафиксируйте | Как это помогает выделить он |
|---|---|
| Ответственный вызов | Зафиксируйте метод API, идентификатор объекта, поток или обратный вызов и временную метку для контрольной точки «отсутствующие права для защищённого содержимого». |
| Решающие значения | объект чтения или записи, номера потоков и входов, идентификатор профиля, временные метки образцов, длины буферов и первый обратный вызов либо вызов SDK, вернувший код при контролируемой повторной проверке защищённого содержимого |
| Поколение объекта | Отметьте время создания объекта чтения, объекта записи, графа, URL-объекта, сеанса потоковой передачи или поставщика метаданных; устаревшее состояние может повторно вызвать он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний статус кодека, COM, сокета, DNS, анализатора или поставщика до него; более поздние сообщения интерфейса менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «отсутствующие права для защищённого содержимого», изменив только отклонённое предварительное условие. |
Контролируемая проверка медиаформата
- Запишите
0xC00D0BBD, он, точную операцию и время первого сбоя. - Сохраните объект чтения или записи, номера потоков и входов, идентификатор профиля, временные метки образцов, длины буферов и первый обратный вызов либо вызов SDK, вернувший код при контролируемой повторной проверке защищённого содержимого.
- Не используйте повторно граф, сеанс, объект чтения или объект метаданных, созданные до изменения соответствующей конфигурации или ресурса для состояния «запрошенный тракт чтения, преобразования или копирования требует прав, которые для содержимого не предоставлены».
- Выполните один изолированный тест: установить допустимые права для той же операции и повторить ту же операцию чтения/преобразования/копирование путь.
- Повторите проверку через тот же API и протокольный тракт; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы для состояния «запрошенный тракт чтения, преобразования или копирования требует прав, которые для содержимого не предоставлены».
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии.
Близкие результаты не взаимозаменяемы
Главное различие: Ошибка относится к права/защита для конкретной операции, а не к общей читаемости контейнера или профиля.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_INVALID_OUTPUT_FORMAT | Сравните ответственный API и первое отклонённое значение: это соседняя контрольная точка, а не автоматически та же причина, что и у он. |
NS_E_NOT_CONFIGURED | Используйте состояние объекта и порядок операций, чтобы определить, какой код является исходным, если оба появляются в одной трассировке. |
NS_E_TAMPERED_CONTENT | Сохраните он отдельно, если он появляется только после устранения условия он. |
Действия, вводящие в заблуждение
- удаление метаданных защиты или изменение файла: это может уничтожить диагностические данные и не может предоставить права при контролируемой повторной проверке защищённого содержимого.
- Не стирайте данные о первом появлении он многократными повторами; обратные вызовы и повторное подключение могут заменить полезное исходное состояние более поздней ошибкой верхнего уровня.
- Не публикуйте учётные данные, материалы защищённого содержимого или полные закрытые URL. Записывайте обезличенные идентификаторы, длины, хэши и поля протокол, необходимые для воспроизведения этой контрольной точки.
Технические ссылки
- Обзор Windows Media Format SDK
- Входные, потоковые и выходные форматы
- Профили
- Объекты Windows Media SDK
- Реестр HRESULT Microsoft
Закрывайте инцидент только после того, как исходная операция с ним успешно выполняется на актуальном объекте и наблюдается ожидаемое следующее состояние.
Нужно найти другой код? Найти другой код состояния или ошибки.