Что означает код HRESULT 0xC00D280E (NS_E_DRM_SOURCEID_NOT_SUPPORTED)?

 
Предыдущий Следующий
NS_E_DRM_LICENSE_NOTRUSTEDCODEC NS_E_DRM_NEEDS_UPGRADE_TEMPFILE

NS_E_DRM_SOURCEID_NOT_SUPPORTED

Интерпретация решения безопасности

В 0xC00D280E, NS_E_DRM_SOURCEID_NOT_SUPPORTED фиксируется, что идентификатор источника лицензии или содержимого требует функции клиента, не реализованной в этой версии DRM. Подсистема, формирующая NS_E_DRM_SOURCEID_NOT_SUPPORTED относится к внутренние компоненты клиента Windows Media DRM, а не медиадекодер; этот слой инициализирует компоненты безопасности, проверяет идентификаторы содержимого и лицензий, выполняет индивидуализацию, управляет цепочками лицензий и координирует возможности защищённого воспроизведения.

Кратчайший путь к обоснованной диагностике — зафиксировать идентификатор источника, версию заголовка содержимого и поколение DRM-клиента. Стандартный текст AllStat уже приведён выше; этот пользовательский раздел сосредоточен на состоянии объекта и доказательствах, необходимых для отделения NS_E_DRM_SOURCEID_NOT_SUPPORTED от соседних ошибок Windows Media.

Сравниваемые значения

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

Не теряйте идентичность объекта

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

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

Как должна продолжаться операция

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

Сохраняйте узкую область диагностики

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

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

От HRESULT к причине

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

Отличайте от соседних результатов

РезультатПочему он указывает на другую причину
NS_E_DRM_LICENSE_NOWDMлицензия на защищённый звук требует аудиодрайверов WDM, но активный тракт не поддерживает WDM
NS_E_DRM_LICENSE_NOTRUSTEDCODECкодек, выбранный для защищённого содержимого, не соответствует требованию доверия лицензии
NS_E_DRM_NEEDS_UPGRADE_TEMPFILEожидающее обновление компонента DRM зависит от временного артефакта обновления, который нельзя использовать ожидаемым образом

Исправление и проверка

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

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

Критерий завершения

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

Технические ссылки для NS_E_DRM_SOURCEID_NOT_SUPPORTED


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