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