Что означает код HRESULT 0xC00D2845 (NS_E_DRM_INDIV_SERVICE_UNAVAILABLE)?

 
Предыдущий Следующий
NS_E_DRM_INDIV_NO_CABS NS_E_DRM_RESTORE_SERVICE_UNAVAILABLE

NS_E_DRM_INDIV_SERVICE_UNAVAILABLE

Первый надёжно установленный факт

Условие, закодированное в 0xC00D2845 не означает общий сбой воспроизведения; код указывает на состояние «служба индивидуализации DRM недоступна». Диагностика NS_E_DRM_INDIV_SERVICE_UNAVAILABLE поэтому начинается во внутренних механизмах клиента Windows Media DRM — уровне клиентского ядра DRM, который инициализирует компоненты безопасности, проверяет идентификаторы содержимого и лицензий, выполняет индивидуализацию, управляет цепочками лицензий и координирует возможности защищённого воспроизведения.

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

Транзакция, которую нужно восстановить

NS_E_DRM_INDIV_SERVICE_UNAVAILABLE имеет диагностический смысл, только пока с одной операцией связаны сертификат устройства, состояние регистрации и проверки, сетевой сеанс и сообщения протокола. Сохраните точный тип сообщения WMDRM-ND, идентификатор устройства, цепочку сертификатов, состояние регистрации, время обмена и первый HRESULT протокола для NS_E_DRM_INDIV_SERVICE_UNAVAILABLE.

Эти данные важны, поскольку отклонено именно состояние «служба индивидуализации DRM недоступна».

Чего результат не доказывает

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

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

Контролируемая проверка до и после

NS_E_DRM_INDIV_SERVICE_UNAVAILABLE следует моделировать как невыполненное предварительное условие, а не как произвольную ошибку медиа. Подтвердите условие, отделив недоступность сети или TLS от явного ответа о недоступности службы, а затем устраните его, восстановив соединение либо дождавшись восстановления службы перед индивидуализацией. Сохранение NS_E_DRM_INDIV_SERVICE_UNAVAILABLE также показывает, использовала ли повторная попытка устаревшее состояние или действительно повторно оценила исправленные входные данные.

Данные инцидента

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

Воспроизведение на ответственном уровне

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

Не объединяйте эти сбои

РезультатПочему он указывает на другую причину
NS_E_DRM_INDIV_FRAUDЗапрос индивидуализации отклонён защитой от злоупотреблений
NS_E_DRM_INDIV_NO_CABSСлужба индивидуализации не предоставила пакеты CAB
NS_E_DRM_RESTORE_SERVICE_UNAVAILABLEСлужба восстановления лицензий недоступна

Восстановление требуемого состояния

Восстановление должно изменить отклонённое предварительное условие и устранить состояние «служба индивидуализации DRM недоступна». Для NS_E_DRM_INDIV_SERVICE_UNAVAILABLEуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.

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

Сохраните диагностический пример

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

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


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