| Предыдущий | Следующий |
| NS_E_DRM_INVALID_PROXIMITY_RESPONSE | NS_E_DRM_DEVICE_NOT_OPEN |
NS_E_DRM_INVALID_SESSION
Первый надёжно установленный факт
Условие, закодированное в 0xC00D28A9 не означает общий сбой воспроизведения; код указывает на состояние «недопустимый сеанс DRM». Диагностика NS_E_DRM_INVALID_SESSION поэтому начинается на уровне Windows Media DRM для сетевых устройств — слой протокола передатчика и приёмника, который регистрирует сетевое устройство воспроизведения, подтверждает его, проверяет близость, открывает защищённый сеанс и преобразует лицензированное содержимое для приёмника.
До изменения состояния компьютера зафиксируйте точный API, состояние объекта, идентификаторы входных данных и первый конкретный результат нижнего уровня, применительно к состоянию «недопустимый сеанс DRM». Штатное описание AllStat приведено выше; этот раздел посвящён состоянию объекта и данным, позволяющим отличить NS_E_DRM_INVALID_SESSION от соседних ошибок Windows Media.
Транзакция, которую нужно восстановить
Граф объектов NS_E_DRM_INVALID_SESSION включает сертификат и серийный номер устройства, запись регистрации, флаг подтверждения, время проверки, сетевой сеанс, сообщение протокола и политику преобразования. В трассировке NS_E_DRM_INVALID_SESSION сохраните точный тип сообщения WMDRM-ND, идентификатор устройства, цепочку сертификатов, состояние регистрации, время обмена и первый HRESULT протокола.
Эти данные важны, поскольку отклонено именно состояние «недопустимый сеанс DRM».
Контролируемая проверка до и после
Полезная модель сбоя для NS_E_DRM_INVALID_SESSION связывает причину и восстановление: состояние «недопустимый сеанс DRM». Подтвердите модель проверкой для этого кода, затем внесите минимальное изменение, устраняющее условие. Для NS_E_DRM_INVALID_SESSIONиспользуйте заведомо исправный аналог только как контрольный случай; не заменяйте сбойный материал до фиксации его идентификаторов и хэшей.
Данные инцидента
| Поле | Значение для NS_E_DRM_INVALID_SESSION |
|---|---|
| Владелец | операция, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с NS_E_DRM_INVALID_SESSION |
| Прямая проверка | сопоставьте идентификатор сеанса, идентичность узла и последовательность сообщений |
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при NS_E_DRM_INVALID_SESSION |
| Временное состояние | доверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на NS_E_DRM_INVALID_SESSION |
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговой оболочкой NS_E_DRM_INVALID_SESSION |
Не объединяйте эти сбои
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_DRM_MUST_REVALIDATE | Защищённое состояние необходимо повторно проверить |
NS_E_DRM_INVALID_PROXIMITY_RESPONSE | Недопустимый ответ проверки близости устройства |
NS_E_DRM_DEVICE_NOT_OPEN | Защищённое устройство не открыто |
Чего результат не доказывает
Для NS_E_DRM_INVALID_SESSION, установлен факт состояния «недопустимый сеанс DRM». Для NS_E_DRM_INVALID_SESSIONэтот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните NS_E_DRM_INVALID_SESSION как первый конкретный результат. Объект и операция, связанные с NS_E_DRM_INVALID_SESSION , обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
Воспроизведение на ответственном уровне
- Сохраните
NS_E_DRM_INVALID_SESSIONи0xC00D28A9до очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Примените узкое исправление для
NS_E_DRM_INVALID_SESSION: отбросьте устаревшие сообщения и создайте новый сеанс для того же зарегистрированного устройства. - Свяжите
NS_E_DRM_INVALID_SESSIONс текущим объектом WMDRM для сетевых устройств и запрошенным действием. - Выполните прямую проверку для
NS_E_DRM_INVALID_SESSION: сопоставьте идентификатор сеанса, идентичность узла и последовательность сообщений. - Сравните сбой с заведомо исправным случаем, изменив только условие «недопустимый сеанс DRM».
- Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что
NS_E_DRM_INVALID_SESSIONне заменена другой ошибкой политики или доверия.
Восстановление требуемого состояния
Для недопустимого сеанса исправьте сопоставление идентификатора, узла и последовательности сообщений, затем повторите операцию с новым объектом сеанса. Для NS_E_DRM_INVALID_SESSIONуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- При расследовании NS_E_DRM_INVALID_SESSION не удаляйте всю базу регистрации устройств до сохранения сбойной записи устройства и цепочки сертификатов: иначе исчезнет различие между ошибками регистрации, подтверждения, проверки и сеанса.
- Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления
NS_E_DRM_INVALID_SESSION; это обходит решение, а не исправляет его входные данные. - Сохраните один сбойный и один исправленный артефакт, чтобы устранение
NS_E_DRM_INVALID_SESSIONможно было проверять при регрессионном тестировании.
Сохраните диагностический пример
В итоговом тесте NS_E_DRM_INVALID_SESSION по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай NS_E_DRM_INVALID_SESSION разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки для NS_E_DRM_INVALID_SESSION
- Windows Media DRM 10 для сетевых устройств — перечисляет переходы безопасности и состояния, используемые при интерпретации NS_E_DRM_INVALID_SESSION.
- Регистрация устройства — определяет объекты платформы, используемые при диагностике NS_E_DRM_INVALID_SESSION.
- Использование протокола WMDRM-ND — документирует границу протокола или API, связанную с NS_E_DRM_INVALID_SESSION.
- Спецификация протокола MS-DRMND — описывает нормативный рабочий процесс, относящийся к NS_E_DRM_INVALID_SESSION.
Нужно найти другой код? Найти другой код состояния или ошибки.