Что означает код HRESULT 0xC00D2842 (NS_E_DRM_PD_TOO_MANY_DEVICES)?

 
Предыдущий Следующий
NS_E_DRM_BUSY NS_E_DRM_INDIV_FRAUD

NS_E_DRM_PD_TOO_MANY_DEVICES

Область сбоя

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

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

Проверка без уничтожения данных

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

Какие данные следует сохранить

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

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

Переход, который нужно проверить повторно

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

Входные данные для проверки

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

Разные владельцы, похожее диалоговое окно

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

Отделение причины от оболочки

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

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

Когда повтор допустим

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

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

Итоговая проверка

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

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


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