Что означает код HRESULT 0xC00D2844 (NS_E_DRM_INDIV_NO_CABS)?

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

NS_E_DRM_INDIV_NO_CABS

Точная граница DRM

Этот HRESULT указывает на конкретное условие: NS_E_DRM_INDIV_NO_CABS возникает, когда служба индивидуализации не может предоставить требуемые пакеты компонентов. Для NS_E_DRM_INDIV_NO_CABS, ответственны внутренние компоненты клиента Windows Media DRM: они инициализируют компоненты безопасности, проверяют содержимое и лицензии, выполняют индивидуализацию и управляют цепочками лицензий.

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

Что следует записать в журнал

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

Область сбоя узкая: служба индивидуализации не может предоставить требуемые пакеты компонентов. Остальное содержимое или другие действия могут оставаться работоспособными.

Ожидаемое изменение состояния

Сравнение состояния до и после для NS_E_DRM_INDIV_NO_CABS должно изменять только одно условие. До исправления воспроизводится состояние «служба индивидуализации не предоставила пакеты CAB»; после исправления тот же процесс должен пройти эту границу. Результат NS_E_DRM_INDIV_NO_CABS должно сохранять идентичность содержимого и устройства, чтобы успех нельзя было объяснить проверкой другого объекта.

Поля воспроизводимого отчёта

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

Порядок диагностики

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

Область действия и последствия

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

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

Связанные коды с другими контрактами

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

Измените отклонённое предусловие

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

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

Критерий закрытия

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

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


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