Что означает код HRESULT 0xC00D11A4 (NS_E_WMP_WMDM_INTERFACEDEAD)?

 
Предыдущий Следующий
NS_E_WMP_MSSAP_NOT_AVAILABLE NS_E_WMP_WMDM_NOTCERTIFIED

NS_E_WMP_WMDM_INTERFACEDEAD

Что установила вызывающая сторона

Чтение NS_E_WMP_WMDM_INTERFACEDEAD возникает на границе объекта, где интерфейс WMDM перестал быть пригодным из-за исчезновения устройства или provider. Подсистема, формирующая это передача защищённого содержимого на переносные устройства, а не медиа-декодер; она координирует Windows Media Player и Windows Media Device Manager между приложением, поставщиком защищённого содержимого и поставщиком служб устройства во время синхронизации защищённого файла.

Сначала сопоставьте события подключения/отключения устройства, идентичность интерфейса и незавершённую операцию. Штатное описание AllStat приведено выше; здесь важны состояние объектов и признаки, позволяющие отделить NS_E_WMP_WMDM_INTERFACEDEAD от соседних ошибок Windows Media.

Состояние, которое необходимо сопоставлять

Граф объектов включает идентичность портативного устройства, защищённый канал WMDM, сертификат передачи, флаги DRM-возможностей устройства, защищённые часы, лицензию содержимого и транзакцию передачи. В одной попытке сохраняйте firmware и provider устройства, флаги capabilities/status WMDM, результат аутентификации защищённого канала, права синхронизации и состояние завершения передачи.

Формирующий слой не утверждает, что неисправны все медиаоперации: установлено только, что интерфейс WMDM стал непригоден после исчезновения устройства или provider.

Локализация сбоя

  1. Сохраните NS_E_WMP_WMDM_INTERFACEDEAD и 0xC00D11A4 до очистки, перехода к резервному пути или смены контекста другим медиаэлементом.
  2. Сравните сбой с заведомо исправным случаем, меняя только указанное условие: устройство и provider должны оставаться доступными в течение операции.
  3. Примените узкое исправление для этого результата: заново подключите и откройте устройство, затем создайте новые интерфейсы WMDM.
  4. Свяжите этот HRESULT с текущим объектом защищённой передачи содержимого на переносные устройства и запрошенным действием.
  5. Выполните прямую проверку для этого результата: сопоставьте события подключения/отключения устройства, идентичность интерфейса и незавершённую операцию.
  6. Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что исходная ошибка не заменена другой ошибкой политики или доверия.

Переход состояния

Документируя NS_E_WMP_WMDM_INTERFACEDEAD, указывайте отклонённый вход и ожидаемое следующее состояние. Сбой подтверждается корреляцией событий подключения/отключения, идентичности интерфейса и незавершённой операции; следующий этап станет доступен после повторного подключения и открытия устройства с созданием новых интерфейсов WMDM. Сравнение для этого результата подходит для регрессионного теста, поскольку ожидаемое изменение состояния можно наблюдать без ослабления политики DRM.

Не приписывайте HRESULT лишний смысл

Для этого результата, установлено только то, что интерфейс WMDM стал непригоден после исчезновения устройства или provider. для этого результата сам по себе этот факт не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.

Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните этот HRESULT как первый конкретный результат. Объект и операция, связанные с этим HRESULT, обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.

Состояние, которое следует сохранить до повтора

ПолеЗначение для этого результата
Прямая проверкасопоставьте события подключения/отключения устройства, идентичность интерфейса и незавершённую операцию
Входные данные политикизапрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при получении этого результата
Временное состояниедоверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на результат
Результат нижнего уровнясамый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговым HRESULT
Владелецоперация, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с этим результатом

Похожие симптомы не означают одинаковую причину

РезультатПочему он указывает на другую причину
NS_E_PDA_NO_TRANSCODE_OF_DRMДля синхронизации потребовалось бы транскодирование, но защищённое содержимое нельзя преобразовать обычным путём
NS_E_WMP_WMDM_FAILUREпроигрыватель получил неспецифический сбой от уровня управления переносным устройством
NS_E_WMP_WMDM_NOTCERTIFIEDв тракте устройства отсутствует сертификация, требуемая для получения защищённого содержимого

Фактическое исправление

Исправьте владельца проверки: заново подключите и откройте устройство, затем создайте новые интерфейсы WMDM. для этого результата успех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.

  • При расследовании этого результата не преобразовывайте и не копируйте защищённый файл за пределами защищённого тракта передачи только ради диагностики: это проверяет другую модель прав и может изменить или обесценить диагностические данные.
  • Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления этой ошибки; это обходит решение, а не исправляет его входные данные.
  • Сохраните один сбойный и один исправленный артефакт, чтобы устранение этой ошибки можно было проверять при регрессионном тестировании.

Подтверждение устойчивости исправления

В итоговом тесте NS_E_WMP_WMDM_INTERFACEDEAD по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай считается разрешённым только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.