| Предыдущий | Следующий |
| NS_E_CD_QUEUEING_DISABLED | NS_E_WMP_DRM_LICENSE_EXPIRED |
NS_E_WMP_DRM_ACQUIRING_LICENSE
Значение в активном рабочем процессе
Первый практически значимый факт для NS_E_WMP_DRM_ACQUIRING_LICENSE состоит в том, что второй запрос прав проигрывателя поступил во время уже активной транзакции получения лицензии. NS_E_WMP_DRM_ACQUIRING_LICENSE возникает в подсистеме обработки прав Windows Media Player, которая открывает защищённые медиафайлы, проверяет состояние локальной лицензии, выполняет фоновое или интерактивное получение прав, проверяет компоненты DRM и применяет ограничения на воспроизведение, запись и синхронизацию.
Чтобы подтвердить эту границу, а не делать вывод по диалоговому сообщению, сопоставьте KID содержимого и ID операций получения лицензии и проверьте, не были ли запросы продублированы. Стандартное описание AllStat уже показано выше; здесь рассматриваются состояние объекта и данные, необходимые, чтобы отличить NS_E_WMP_DRM_ACQUIRING_LICENSE от соседних ошибок Windows Media.
Диагностический перечень
| Поле | Значение для NS_E_WMP_DRM_ACQUIRING_LICENSE |
|---|---|
| Владелец | операция, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с этим результатом |
| Прямая проверка | сопоставьте KID содержимого и ID операций получения лицензии, чтобы определить, не были ли запросы продублированы |
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при получении этого результата |
| Временное состояние | доверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на результат |
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговым HRESULT |
Сохраните исходное поколение
Связанный с этим результатом граф объектов включает KID и заголовок содержимого, запись хранилища лицензий, запрошенное действие, URL получения лицензии, контекст пользователя и хранилища, защищённые часы и версию компонентов DRM. В трассировке сохраняйте KID содержимого, запрошенное действие, результат запроса состояния лицензии, последовательность callback при получении, категорию ответа сервера и первый нижележащий HRESULT DRM.
Слой, сформировавший результат, ничего не утверждает обо всех операциях с медиа; установлено только то, что второй запрос прав поступил во время уже выполнявшейся транзакции получения лицензии.
Модель сбоя
Сравнение состояния до и после для NS_E_WMP_DRM_ACQUIRING_LICENSE имеет одну контролируемую переменную. До исправления второй запрос прав поступает во время активной транзакции; после исправления тот же процесс должен последовательно выполнять запросы либо ждать завершения текущей транзакции. Для NS_E_WMP_DRM_ACQUIRING_LICENSEэто различие не даёт более позднему диалогу проигрывателя скрыть результат политики лицензии и сохраняет проверку привязанной к исходному поколению объекта.
Что остаётся неизвестным
Для NS_E_WMP_DRM_ACQUIRING_LICENSEустановленный факт состоит в том, что второй запрос прав проигрывателя поступил во время уже выполнявшейся транзакции получения лицензии. Для NS_E_WMP_DRM_ACQUIRING_LICENSEсам по себе этот факт не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните NS_E_WMP_DRM_ACQUIRING_LICENSE как первый конкретный результат. Объект и операция, связанные с NS_E_WMP_DRM_ACQUIRING_LICENSE , обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
Подтверждение границы
- Сохраните
NS_E_WMP_DRM_ACQUIRING_LICENSEи0xC00D1202до очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Сравните сбой с заведомо исправным случаем, изменив только условие, указанное этим результатом: не допускайте второго запроса прав во время активной транзакции получения лицензии.
- Примените узкое исправление для
NS_E_WMP_DRM_ACQUIRING_LICENSE: выполняйте операции получения лицензий последовательно или дождитесь завершения активной транзакции. - Свяжите
NS_E_WMP_DRM_ACQUIRING_LICENSEс его текущим объектом обработки прав Windows Media Player и запрошенным действием. - Выполните прямую проверку для
NS_E_WMP_DRM_ACQUIRING_LICENSE: сопоставьте KID содержимого и ID операций получения лицензии, чтобы определить, не были ли запросы продублированы. - Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что
NS_E_WMP_DRM_ACQUIRING_LICENSEне заменена другой ошибкой политики или доверия.
Сравнение соседних состояний
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_WMP_DRM_COMPONENT_FAILURE | внутренний сбой компонента DRM после того, как проигрыватель выбрал тракт защищённого содержимого |
NS_E_WMP_DRM_NO_DEVICE_CERT | целевое переносное устройство не предоставило сертификат, пригодный для защищённой передачи |
NS_E_WMP_DRM_LICENSE_EXPIRED | подходящая лицензия проигрывателя находится вне разрешённого интервала использования |
Практические действия
Следующая попытка имеет диагностический смысл только после последовательного выполнения операций получения лицензий либо завершения активной транзакции. Для NS_E_WMP_DRM_ACQUIRING_LICENSEуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- Данные для
NS_E_WMP_DRM_ACQUIRING_LICENSEлегко потерять; не сбрасывайте локальное хранилище DRM до сохранения KID содержимого и результата состояния лицензии: сброс может превратить точный сбой прав или подписи в общее отсутствие лицензии. - Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления
NS_E_WMP_DRM_ACQUIRING_LICENSE; это обходит решение, а не исправляет его входные данные. - Сохраните один сбойный и один исправленный артефакт, чтобы устранение
NS_E_WMP_DRM_ACQUIRING_LICENSEможно было проверять при регрессионном тестировании.
Подтверждение того же рабочего процесса
В итоговом тесте NS_E_WMP_DRM_ACQUIRING_LICENSE по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай NS_E_WMP_DRM_ACQUIRING_LICENSE разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки для NS_E_WMP_DRM_ACQUIRING_LICENSE
- Обзор Windows Media DRM — определяет объекты платформы, используемые при диагностике этого результата.
- Получение лицензий — документирует границу протокола или API, связанную с этим результатом.
- Лицензии и локальное хранилище лицензий — описывает нормативный рабочий процесс, относящийся к этому случаю.
- Коды ошибок Windows Media Format SDK — перечисляет переходы безопасности и состояния, используемые при интерпретации этого результата.
Нужно найти другой код? Найти другой код состояния или ошибки.