| Предыдущий | Следующий |
| NS_E_DRM_PROFILE_NOT_SET | NS_E_INVALID_DEVICE |
NS_E_DUPLICATE_DRMPROFILE
Интерпретация решения безопасности
В 0xC00D1B90, NS_E_DUPLICATE_DRMPROFILE фиксирует ситуацию, когда новый DRM-профиль кодера повторно использует идентификатор, уже присутствующий в хранилище профилей. Для NS_E_DUPLICATE_DRMPROFILE, владельцем является подсистема DRM-профилей Windows Media Encoder; её рабочий контракт охватывает настройку сеанса кодера, который выбирает сохранённый DRM-профиль и использует его идентификатор, политику и секрет при упаковке защищённого вывода в реальном времени или в файл.
Чтобы доказать эту границу, а не делать вывод по диалогу, перечислите идентификаторы сохранённых профилей и сравните точный нормализованный идентификатор. Стандартный текст AllStat уже приведён выше; этот пользовательский раздел сосредоточен на состоянии объекта и доказательствах, необходимых для отделения NS_E_DUPLICATE_DRMPROFILE от соседних ошибок Windows Media.
Не теряйте идентичность объекта
Граф объектов для NS_E_DUPLICATE_DRMPROFILE включает сеанс кодирования, идентификатор DRM-профиля, хранилище профилей, пароль, выбранную аудиторию/вывод и ограничение числа профилей. Трассировка NS_E_DUPLICATE_DRMPROFILE должна сохранять идентификатор профиля, переданный сеансу, результат перечисления профилей, расположение хранилища, длину пароля и точку, в которой кодер привязывает профиль.
Область ошибки остаётся узкой: новый DRM-профиль кодера повторно использует идентификатор, уже присутствующий в хранилище профилей. Другое содержимое или действия могут оставаться допустимыми.
Как должна продолжаться операция
Полезная модель сбоя для NS_E_DUPLICATE_DRMPROFILE связывает причину и восстановление: новый DRM-профиль кодера повторно использует идентификатор, уже присутствующий в хранилище профилей. Проверьте эту модель, перечислив сохранённые идентификаторы профилей и сравнив точный нормализованный идентификатор, затем внесите минимальное изменение: выберите уникальный идентификатор профиля или намеренно обновите существующий профиль. NS_E_DUPLICATE_DRMPROFILE подходит для регрессионного теста, поскольку ожидаемое изменение состояния можно наблюдать без ослабления политики DRM.
Сравниваемые значения
| Поле | Значение для NS_E_DUPLICATE_DRMPROFILE |
|---|---|
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, вывода или регистрации, которое проверяет NS_E_DUPLICATE_DRMPROFILE |
| Временное состояние | доверенное/системное время, интервал действия, последовательность запроса и номер повторной попытки, если они влияют на NS_E_DUPLICATE_DRMPROFILE |
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографии, драйвера или поставщика, предшествующий итоговой оболочке NS_E_DUPLICATE_DRMPROFILE |
| Владелец | операция, API/обратный вызов, идентификатор объекта или сеанса и версия компонента/устройства, связанные с NS_E_DUPLICATE_DRMPROFILE |
| Прямая проверка | перечислите сохранённые идентификаторы профилей и сравните точный нормализованный идентификатор |
Отличайте от соседних результатов
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_DRM_PROFILE_NOT_SET | сеанс кодера достиг защищённого вывода без привязанного DRM-профиля |
NS_E_DRM_PASSWORD_TOO_LONG | пароль устаревшего профиля DRM превышает допустимую длину поля |
NS_E_DRMPROFILE_NOTFOUND | кодер не может разрешить запрошенный идентификатор DRM-профиля |
Сохраняйте узкую область диагностики
Для NS_E_DUPLICATE_DRMPROFILE, установленный факт состоит в том, что новый DRM-профиль кодера повторно использует идентификатор, уже присутствующий в хранилище профилей. Для NS_E_DUPLICATE_DRMPROFILEэтот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните NS_E_DUPLICATE_DRMPROFILE как первый конкретный результат. Объект и операция, связанные с NS_E_DUPLICATE_DRMPROFILE , обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
От HRESULT к причине
- Сохраните
NS_E_DUPLICATE_DRMPROFILEи0xC00D1B90до очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Примените узкое исправление для
NS_E_DUPLICATE_DRMPROFILE: выберите уникальный идентификатор профиля или намеренно обновите существующий профиль. - Свяжите
NS_E_DUPLICATE_DRMPROFILEс текущим объектом профилей DRM Windows Media Encoder и запрошенным действием. - Выполните прямую проверку для
NS_E_DUPLICATE_DRMPROFILE: перечислите сохранённые идентификаторы профилей и сравните точный нормализованный идентификатор. - Сравните сбой с заведомо исправным случаем, в котором изменяется только свойство, названное этим условием: новый DRM-профиль кодера повторно использует идентификатор, уже присутствующий в хранилище профилей.
- Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что
NS_E_DUPLICATE_DRMPROFILEне заменена другой ошибкой политики или доверия.
Исправление и проверка
Исправьте непосредственно этот уровень и выберите уникальный идентификатор профиля или намеренно обновите существующий профиль. Для NS_E_DUPLICATE_DRMPROFILEуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- Данные для
NS_E_DUPLICATE_DRMPROFILEлегко уничтожить; не пересоздавайте сразу все профили кодировщика. Сохраните исходный идентификатор и сравните один заведомо исправный профиль, чтобы не спутать проблему поиска с ошибкой политики или пароля. - Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления
NS_E_DUPLICATE_DRMPROFILE; это обходит решение, а не исправляет его входные данные. - Сохраните один сбойный и один исправленный артефакт, чтобы устранение
NS_E_DUPLICATE_DRMPROFILEможно было проверять при регрессионном тестировании.
Критерий завершения
В итоговом тесте NS_E_DUPLICATE_DRMPROFILE по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай NS_E_DUPLICATE_DRMPROFILE разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки для NS_E_DUPLICATE_DRMPROFILE
- DRM в реальном времени — описывает границу протокола или API, относящуюся к NS_E_DUPLICATE_DRMPROFILE.
- Защита DRM и распространение лицензий — содержит нормативный рабочий процесс, относящийся к NS_E_DUPLICATE_DRMPROFILE.
- Обзор Windows Media DRM — перечисляет переходы безопасности и состояния, используемые при интерпретации NS_E_DUPLICATE_DRMPROFILE.
- Коды ошибок Windows Media Format SDK — определяет объекты платформы, используемые при диагностике NS_E_DUPLICATE_DRMPROFILE.
Нужно найти другой код? Найти другой код состояния или ошибки.