Что означает код HRESULT 0xC00D28B2 (NS_E_DRM_ATTRIBUTE_TOO_LONG)?

 
Предыдущий Следующий
NS_E_DRM_INVALID_CRL NS_E_DRM_EXPIRED_LICENSEBLOB

NS_E_DRM_ATTRIBUTE_TOO_LONG

Состояние, стоящее за HRESULT

NS_E_DRM_ATTRIBUTE_TOO_LONG относится к точке, в которой имя или значение атрибута WMDRM-ND превышает ограничение протокола или API. Для NS_E_DRM_ATTRIBUTE_TOO_LONG владельцем является WMDRM для сетевых устройств; его контракт охватывает протокол передатчика и приёмника, который регистрирует сетевое устройство воспроизведения, подтверждает его, проверяет близость, открывает защищённый сеанс и перекодирует лицензированное содержимое для этого приёмника.

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

Таблица состояния

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

Сформируйте полезную запись о происшествии

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

Это отличает результат от повреждения файла: имя или значение атрибута WMDRM-ND превышает ограничение протокола или API.

Восстановите ход принятия решения

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

Границы интерпретации

Для NS_E_DRM_ATTRIBUTE_TOO_LONG, установленный факт состоит в том, что имя или значение атрибута WMDRM-ND превышает ограничение протокола или API. Для NS_E_DRM_ATTRIBUTE_TOO_LONG этот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.

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

Целевая проверка

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

Соседние решения безопасности

РезультатПочему он указывает на другую причину
NS_E_DRM_BAD_REQUESTзапрос WMDRM-ND имеет недопустимое обрамление, поля или семантику сообщения
NS_E_DRM_INVALID_CRLсписок отзыва сертификатов WMDRM-ND повреждён, имеет неверный формат или не проходит проверку
NS_E_DRM_EXPIRED_LICENSEBLOBсрок действия данных лицензии в запросе Cardea истёк

Критерий исправления

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

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

Условие приёмки

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

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


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