| Предыдущий | Следующий |
| NS_E_DRM_NO_UPLINK_LICENSE | NS_E_DRM_LICENSE_INITIALIZATION_ERROR |
NS_E_DRM_INVALID_KID
Значение в активном рабочем процессе
Первый практически значимый факт для NS_E_DRM_INVALID_KID означает, что переданный идентификатор ключа имеет неверный формат или недопустим для операции DRM. NS_E_DRM_INVALID_KID поступает из внутренних компонентов клиента Windows Media DRM, автомат состояний которых инициализирует компоненты безопасности, проверяет содержимое и идентификаторы лицензий, выполняет индивидуализацию, управляет цепочками лицензий и координирует защищённое воспроизведение.
Сначала подтвердите формирующий компонент: зафиксируйте точный API, состояние объекта, идентификаторы входных данных и первый конкретный результат нижнего уровня, применительно к состоянию «недопустимый идентификатор ключа KID». Штатное описание AllStat приведено выше; этот раздел посвящён состоянию объекта и данным, позволяющим отличить NS_E_DRM_INVALID_KID от соседних ошибок Windows Media.
Диагностический перечень
| Поле | Значение для NS_E_DRM_INVALID_KID |
|---|---|
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговой оболочкой NS_E_DRM_INVALID_KID |
| Владелец | операция, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с NS_E_DRM_INVALID_KID |
| Прямая проверка | сохраните точное представление KID и сравните его с заголовком защищённого содержимого |
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при NS_E_DRM_INVALID_KID |
| Временное состояние | доверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на NS_E_DRM_INVALID_KID |
Сохраните исходное поколение
NS_E_DRM_INVALID_KID имеет диагностический смысл, только пока с одной операцией связаны сертификат устройства, состояние регистрации и проверки, сетевой сеанс и сообщения протокола. Сохраните точный тип сообщения WMDRM-ND, идентификатор устройства, цепочку сертификатов, состояние регистрации, время обмена и первый HRESULT протокола для NS_E_DRM_INVALID_KID.
Сравнение полезно только при сохранении установленного факта: состояние «недопустимый идентификатор ключа KID».
Модель сбоя
Полезная модель сбоя для NS_E_DRM_INVALID_KID связывает причину и восстановление для состояния «недопустимый идентификатор ключа KID». Подтвердите его прямой проверкой, затем внесите минимальное изменение, устраняющее отклонённое условие, применительно к состоянию «недопустимый идентификатор ключа KID». Сохранение NS_E_DRM_INVALID_KID должно сохранять идентичность содержимого и устройства, чтобы успех нельзя было объяснить проверкой другого объекта.
Что остаётся неизвестным
Для NS_E_DRM_INVALID_KID, установлен факт состояния «недопустимый идентификатор ключа KID». Для NS_E_DRM_INVALID_KIDэтот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните NS_E_DRM_INVALID_KID как первый конкретный результат. Объект и операция, связанные с NS_E_DRM_INVALID_KID , обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
Подтверждение границы
- Сохраните
NS_E_DRM_INVALID_KIDи0xC00D2849до очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Примените узкое исправление для
NS_E_DRM_INVALID_KID: передайте корректно закодированный KID, сформированный для этого ключа содержимого. - Свяжите
NS_E_DRM_INVALID_KIDс текущим объектом внутренних компонентов клиента Windows Media DRM и запрошенным действием. - Выполните прямую проверку для
NS_E_DRM_INVALID_KID: сохраните точное представление KID и сравните его с заголовком защищённого содержимого. - Сравните сбой с заведомо исправным случаем, изменив только условие «недопустимый идентификатор ключа KID».
- Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что
NS_E_DRM_INVALID_KIDне заменена другой ошибкой политики или доверия.
Сравнение соседних состояний
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_DRM_CLIENT_CODE_EXPIRED | Истёк срок действия кода безопасности клиента DRM |
NS_E_DRM_NO_UPLINK_LICENSE | Не найдена вышестоящая лицензия цепочки |
NS_E_DRM_LICENSE_INITIALIZATION_ERROR | механизм DRM не смог инициализировать объект лицензии или подсистему лицензирования для этой операции |
Практические действия
Исправьте условие непосредственно на этом уровне: исправьте состояние или входные данные на уровне, сформировавшем ошибку, и повторите операцию с новым объектом. Для NS_E_DRM_INVALID_KIDуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- Широкий сброс не является первым действием для
NS_E_DRM_INVALID_KIDлегко уничтожить; не заменяйте двоичные файлы DRM и не изменяйте состояние реестра до записи их версий и подписей, иначе несовместимость компонента нельзя будет отличить от повреждённого объекта лицензии. - Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления
NS_E_DRM_INVALID_KID; это обходит решение, а не исправляет его входные данные. - Сохраните один сбойный и один исправленный артефакт, чтобы устранение
NS_E_DRM_INVALID_KIDможно было проверять при регрессионном тестировании.
Подтверждение того же рабочего процесса
В итоговом тесте NS_E_DRM_INVALID_KID по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай NS_E_DRM_INVALID_KID разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки для NS_E_DRM_INVALID_KID
- Интерфейсы клиента Windows Media DRM — определяет объекты платформы, используемые при диагностике NS_E_DRM_INVALID_KID.
- Возможности управления цифровыми правами — документирует границу протокола или API, связанную с NS_E_DRM_INVALID_KID.
- Лицензии и локальное хранилище лицензий — описывает нормативный рабочий процесс, относящийся к NS_E_DRM_INVALID_KID.
- Коды ошибок Windows Media Format SDK — перечисляет переходы безопасности и состояния, используемые при интерпретации NS_E_DRM_INVALID_KID.
Нужно найти другой код? Найти другой код состояния или ошибки.