| Предыдущий | Следующий |
| NS_E_DRM_NEEDS_UPGRADE_TEMPFILE | NS_E_DRM_SIGNATURE_FAILURE |
NS_E_DRM_NEED_UPGRADE_PD
Почему важен символьный результат
Когда NS_E_DRM_NEED_UPGRADE_PD возвращается после того, как система уже установила, что компоненты DRM переносного устройства требуют более новой версии, прежде чем защищённая передача сможет продолжиться. Диагностика NS_E_DRM_NEED_UPGRADE_PD поэтому начинается во внутренних механизмах клиента Windows Media DRM — уровне клиентского ядра DRM, который инициализирует компоненты безопасности, проверяет идентификаторы содержимого и лицензий, выполняет индивидуализацию, управляет цепочками лицензий и координирует возможности защищённого воспроизведения.
Сначала подтвердите формирующий компонент прямой проверкой: запросите флаги состояния DRM устройства и версии прошивки/компонентов. Штатное описание AllStat приведено выше; этот раздел посвящён состоянию объекта и данным, позволяющим отличить NS_E_DRM_NEED_UPGRADE_PD от соседних ошибок Windows Media.
Участвующие объекты
Граф объектов NS_E_DRM_NEED_UPGRADE_PD включает версию компонента DRM, KID, подпись заголовка содержимого, цепочку лицензий, вышестоящую лицензию, состояние индивидуализации, регистрации переносных устройств и локальную конфигурацию. Трассировка должна сохранить KID и хэш заголовка, версию DRM, состояние индивидуализации, идентификаторы цепочки лицензий, результат чтения реестра или конфигурации и первый обратный вызов клиента со сбоем, применительно к состоянию «требуется обновление DRM переносного устройства».
Формирующий слой не делает вывода обо всех операциях с мультимедиа; он установил только следующее: компоненты DRM переносного устройства требуют более новой версии для защищённой передачи.
Первая ошибка и последующая очистка
Для NS_E_DRM_NEED_UPGRADE_PD, установленный факт состоит в следующем: Компоненты DRM переносного устройства требуют более новой версии для защищённой передачи. Для NS_E_DRM_NEED_UPGRADE_PDэтот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните NS_E_DRM_NEED_UPGRADE_PD как первый конкретный результат. Объект и операция, связанные с NS_E_DRM_NEED_UPGRADE_PD , обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
Причина и следующее состояние
NS_E_DRM_NEED_UPGRADE_PD следует моделировать как невыполненную предпосылку, а не как произвольное исключение мультимедиа. Подтвердите предпосылку, запросив флаги состояния DRM устройства и версии прошивки/компонентов, и устраните её, выполнив поддерживаемое изготовителем обновление DRM устройства. Сохранение перехода NS_E_DRM_NEED_UPGRADE_PD также показывает, использовала ли повторная попытка устаревшее состояние или действительно повторно оценила исправленные входные данные.
Что отличает этот код
| Поле | Значение для NS_E_DRM_NEED_UPGRADE_PD |
|---|---|
| Временное состояние | доверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на NS_E_DRM_NEED_UPGRADE_PD |
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговой оболочкой NS_E_DRM_NEED_UPGRADE_PD |
| Владелец | операция, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с NS_E_DRM_NEED_UPGRADE_PD |
| Прямая проверка | флаги состояния DRM устройства и версии прошивки/компонентов |
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при NS_E_DRM_NEED_UPGRADE_PD |
Последовательность проверки
- Сохраните
NS_E_DRM_NEED_UPGRADE_PDи0xC00D283Eдо очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Выполните прямую проверку для
NS_E_DRM_NEED_UPGRADE_PD: запросите флаги состояния DRM устройства и версии прошивки/компонентов. - Сравните сбой с заведомо исправным случаем, изменив только свойство, указанное этим условием: компоненты DRM переносного устройства требуют более новой версии для защищённой передачи.
- Примените узкое исправление для
NS_E_DRM_NEED_UPGRADE_PDвыполните поддерживаемое изготовителем обновление DRM устройства. - Свяжите
NS_E_DRM_NEED_UPGRADE_PDс текущим объектом внутренних компонентов клиента Windows Media DRM и запрошенным действием. - Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что
NS_E_DRM_NEED_UPGRADE_PDне заменена другой ошибкой политики или доверия.
Соседние HRESULT
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_DRM_SOURCEID_NOT_SUPPORTED | идентификатор источника лицензии/содержимого требует возможности клиента, не реализованной в этой версии DRM |
NS_E_DRM_NEEDS_UPGRADE_TEMPFILE | ожидающее обновление компонента DRM зависит от временного артефакта обновления, который невозможно использовать ожидаемым образом |
NS_E_DRM_SIGNATURE_FAILURE | не удалось создать или проверить подпись заголовка защищённого содержимого |
Безопасное восстановление
Исправьте этот уровень непосредственно: выполните поддерживаемое изготовителем обновление DRM устройства. Для NS_E_DRM_NEED_UPGRADE_PDуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- Данные для
NS_E_DRM_NEED_UPGRADE_PDлегко уничтожить; не заменяйте двоичные файлы DRM и не изменяйте состояние реестра до записи их версий и подписей, иначе несовместимость компонента нельзя будет отличить от повреждённого объекта лицензии. - Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления
NS_E_DRM_NEED_UPGRADE_PD; это обходит решение, а не исправляет его входные данные. - Сохраните один сбойный и один исправленный артефакт, чтобы устранение
NS_E_DRM_NEED_UPGRADE_PDможно было проверять при регрессионном тестировании.
Полезный автоматизированный тест
В итоговом тесте NS_E_DRM_NEED_UPGRADE_PD по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай NS_E_DRM_NEED_UPGRADE_PD разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки для NS_E_DRM_NEED_UPGRADE_PD
- Интерфейсы клиента Windows Media DRM — описывает нормативный рабочий процесс, относящийся к NS_E_DRM_NEED_UPGRADE_PD.
- Возможности управления цифровыми правами — перечисляет переходы безопасности и состояния, используемые при интерпретации NS_E_DRM_NEED_UPGRADE_PD.
- Лицензии и локальное хранилище лицензий — определяет объекты платформы, используемые при диагностике NS_E_DRM_NEED_UPGRADE_PD.
- Коды ошибок Windows Media Format SDK — документирует границу протокола или API, связанную с NS_E_DRM_NEED_UPGRADE_PD.
Нужно найти другой код? Найти другой код состояния или ошибки.