Что означает код HRESULT 0xC00D1B8F (NS_E_DRM_PROFILE_NOT_SET)?

 
Предыдущий Следующий
NS_E_CANNOT_PAUSE_LIVEBROADCAST NS_E_DUPLICATE_DRMPROFILE

NS_E_DRM_PROFILE_NOT_SET

Определите нарушенный контракт

NS_E_DRM_PROFILE_NOT_SET — результат, который следует сохранять, когда сеанс кодера дошёл до защищённого вывода без привязанного профиля DRM. Подсистема, формирующая этот результат — это профили DRM Windows Media Encoder, а не медиадекодер; она обрабатывает конфигурацию сеанса кодера, выбирающую сохранённый профиль DRM и использующую его идентификатор, политику и секрет при упаковке защищённого вывода в реальном времени или из файла.

Наиболее надёжное подтверждение: проверьте конфигурацию сеанса непосредственно перед началом кодирования. Штатное описание AllStat приведено выше; этот раздел посвящён состоянию объекта и данным, позволяющим отличить этот результат от соседних ошибок Windows Media.

Свидетельства одной операции

Не рассматривайте этот результат отдельно от связанного состояния: сеанса кодирования, идентификатора профиля DRM, хранилища профилей, пароля, выбранной аудитории/вывода и ограничения количества профилей. В диагностической записи для него сохраните идентификатор профиля, переданный сеансу, результат перечисления профилей, расположение хранилища профилей, длину пароля и точку, где кодер привязывает профиль.

Эти данные важны, поскольку отклонённое условие состоит именно в следующем: сеанс кодера дошёл до защищённого вывода без привязанного профиля DRM.

Обоснованная проверка

  1. Сохраните этот результат и 0xC00D1B8F до очистки, перехода к резервному пути или смены контекста другим медиаэлементом.
  2. Сравните сбой с заведомо исправным случаем, изменив только свойство, указанное этим условием: сеанс кодера дошёл до защищённого вывода без привязанного профиля DRM.
  3. Примените узкое исправление для этого результатавыберите и привяжите существующий профиль DRM до запуска сеанса.
  4. Свяжите он с текущим объектом профилей DRM Windows Media Encoder и запрошенным действием.
  5. Выполните прямую проверку для него: проверьте конфигурацию сеанса непосредственно перед началом кодирования.
  6. Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что он не заменена другой ошибкой политики или доверия.

Смоделируйте отклонённую предпосылку

Полезная модель сбоя для него связывает причину и восстановление: сеанс кодера дошёл до защищённого вывода без привязанного профиля DRM. Проверьте эту модель, исследовав конфигурацию сеанса непосредственно перед началом кодирования, затем внесите минимальное изменение: выберите и привяжите существующий профиль DRM до запуска сеанса. Используйте заведомо исправный аналог только как контрольный случай; не заменяйте сбойный материал до фиксации его идентификаторов и хэшей.

Избегайте ложного вывода

Установленный факт состоит в следующем: Сеанс кодера дошёл до защищённого вывода без привязанного профиля DRM. Этот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.

Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните он как первый конкретный результат. Объект и операция, связанные с ним, обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.

Данные одной попытки

ПолеЗначение для него
Входные данные политикизапрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при нём
Временное состояниедоверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на он
Результат нижнего уровнясамый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговой оболочкой он
Владелецоперация, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с ним
Прямая проверкапроверьте конфигурацию сеанса непосредственно перед началом кодирования

Другие границы того же семейства

РезультатПочему он указывает на другую причину
NS_E_DUPLICATE_DRMPROFILEновый профиль DRM кодера повторно использует идентификатор, уже присутствующий в хранилище профилей
NS_E_DRM_PASSWORD_TOO_LONGпереданный пароль устаревшего профиля DRM превышает допустимую длину поля
NS_E_DRMPROFILE_NOTFOUNDкодер не может разрешить запрошенный идентификатор профиля DRM

Проверка устранения

Следующая попытка имеет смысл только после точечного исправления: выберите и привяжите существующий профиль DRM до запуска сеанса. Успех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.

  • Широкий сброс не является первым действием для него; не пересоздавайте сразу все профили кодера. Сохраните исходный идентификатор профиля и сравните один заведомо рабочий профиль, чтобы не спутать проблему поиска с политикой или паролем.
  • Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления он; это обходит решение, а не исправляет его входные данные.
  • Сохраните один сбойный и один исправленный артефакт, чтобы устранение он можно было проверять при регрессионном тестировании.

Проверяйте, не меняя исходный вопрос

В итоговом тесте он по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай он разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.

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


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