| Предыдущий | Следующий |
| NS_E_DRM_CERTIFICATE_SECURITY_LEVEL_INADEQUATE | NS_E_DRM_BAD_REQUEST |
NS_E_DRM_UNABLE_TO_OPEN_PORT
Почему важен символьный результат
Когда NS_E_DRM_UNABLE_TO_OPEN_PORT возвращается, система уже установила, что приложение не может привязать порт, используемый для сообщений близости WMDRM-ND. NS_E_DRM_UNABLE_TO_OPEN_PORT поступает из WMDRM для сетевых устройств, чей автомат состояний реализует протокол передатчика и приёмника: регистрирует сетевое устройство воспроизведения, одобряет его, проверяет близость, открывает защищённый сеанс и перекодирует лицензированное содержимое для приёмника.
Сначала подтвердите формирующий компонент одним действием: зафиксируйте адрес, порт, ошибку сокета и владеющий процесс. Стандартный текст AllStat уже приведён выше; этот специальный раздел сосредоточен на состоянии объекта и доказательствах, необходимых для различения NS_E_DRM_UNABLE_TO_OPEN_PORT от соседних ошибок Windows Media.
Задействованные объекты
Не отделяйте NS_E_DRM_UNABLE_TO_OPEN_PORT от принадлежащего ему состояния: сертификата и серийного номера устройства, записи базы регистрации, флага одобрения, времени проверки, сетевого сеанса, сообщения протокола и политики transcrypt. Диагностическая запись для NS_E_DRM_UNABLE_TO_OPEN_PORT должна содержать точный тип сообщения WMDRM-ND, идентификатор устройства, цепочку сертификатов, состояние регистрации, время прохождения туда-обратно и первый HRESULT протокола.
Более поздняя общая ошибка не должна заменять эти доказательства: исходным условием остаётся невозможность приложения привязать порт, используемый для сообщений близости WMDRM-ND.
Причина и последующее состояние
Для NS_E_DRM_UNABLE_TO_OPEN_PORT, восстановите переход от запрошенного действия к отклонённому условию. Подтверждением служит фиксация адреса, порта, ошибки сокета и владеющего процесса; после исправления порт и брандмауэр должны быть освобождены или настроены правильно, после чего слушатель близости следует перезапустить. NS_E_DRM_UNABLE_TO_OPEN_PORT подходит для регрессионного теста, поскольку ожидаемое изменение состояния можно наблюдать без ослабления политики DRM.
Чем отличается этот код
| Поле | Значение для NS_E_DRM_UNABLE_TO_OPEN_PORT |
|---|---|
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографии, драйвера или поставщика, предшествующий итоговой оболочке NS_E_DRM_UNABLE_TO_OPEN_PORT |
| Владелец | операцию, API или обратный вызов, идентификатор объекта или сеанса и версию компонента или устройства, связанные с NS_E_DRM_UNABLE_TO_OPEN_PORT |
| Прямая проверка | зафиксируйте адрес, порт, ошибку сокета и владеющий процесс |
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверявшееся NS_E_DRM_UNABLE_TO_OPEN_PORT |
| Временное состояние | доверенное или системное время, интервал действия, последовательность запроса и номер повтора, если они влияют на NS_E_DRM_UNABLE_TO_OPEN_PORT |
Соседние HRESULT
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_DRM_UNSUPPORTED_ACTION | конечная точка или политика WMDRM-ND не поддерживает запрошенную операцию |
NS_E_DRM_CERTIFICATE_SECURITY_LEVEL_INADEQUATE | сертификат узла действителен, но его уровень безопасности ниже минимального для операции |
NS_E_DRM_BAD_REQUEST | запрос WMDRM-ND имеет недопустимое обрамление, поля или семантику сообщения |
Первичный сбой и последующая очистка
Для NS_E_DRM_UNABLE_TO_OPEN_PORT, установленный факт состоит в том, что приложение не может привязать порт, используемый для сообщений близости WMDRM-ND. Для NS_E_DRM_UNABLE_TO_OPEN_PORTэтот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните NS_E_DRM_UNABLE_TO_OPEN_PORT как первый конкретный результат. Объект и операция, связанные с NS_E_DRM_UNABLE_TO_OPEN_PORT , обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
Последовательность проверки
- Сохраните
NS_E_DRM_UNABLE_TO_OPEN_PORTи0xC00D28AFдо очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Свяжите
NS_E_DRM_UNABLE_TO_OPEN_PORTс текущим объектом WMDRM для сетевых устройств и запрошенным действием. - Выполните прямую проверку для
NS_E_DRM_UNABLE_TO_OPEN_PORT: зафиксируйте адрес, порт, ошибку сокета и владеющий процесс. - Сравните сбой с заведомо исправным случаем, изменяющим только свойство, названное этим условием: приложение не может привязать порт, используемый для сообщений близости WMDRM-ND.
- Примените узкое исправление для
NS_E_DRM_UNABLE_TO_OPEN_PORT: освободите или правильно настройте порт и брандмауэр, затем перезапустите слушатель близости. - Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что
NS_E_DRM_UNABLE_TO_OPEN_PORTне заменена другой ошибкой политики или доверия.
Безопасное восстановление
Исправьте непосредственно этот слой: освободите или правильно настройте порт и брандмауэр, затем перезапустите слушатель близости. Для NS_E_DRM_UNABLE_TO_OPEN_PORTуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- При расследовании NS_E_DRM_UNABLE_TO_OPEN_PORT соблюдайте ограничение: не удаляйте всю базу регистрации устройств до сохранения сбойной записи устройства и цепочки сертификатов; иначе исчезнет различие между ошибками регистрации, одобрения, проверки и сеанса.
- Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления
NS_E_DRM_UNABLE_TO_OPEN_PORT; это обходит решение, а не исправляет его входные данные. - Сохраните один сбойный и один исправленный артефакт, чтобы устранение
NS_E_DRM_UNABLE_TO_OPEN_PORTможно было проверять при регрессионном тестировании.
Полезный автоматизированный тест
В итоговом тесте NS_E_DRM_UNABLE_TO_OPEN_PORT по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай NS_E_DRM_UNABLE_TO_OPEN_PORT разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки для NS_E_DRM_UNABLE_TO_OPEN_PORT
- Windows Media DRM 10 для сетевых устройств — содержит нормативный рабочий процесс, относящийся к NS_E_DRM_UNABLE_TO_OPEN_PORT.
- Регистрация устройства — перечисляет переходы безопасности и состояния, используемые для интерпретации NS_E_DRM_UNABLE_TO_OPEN_PORT.
- Использование протокола WMDRM-ND — определяет объекты платформы, используемые при диагностике NS_E_DRM_UNABLE_TO_OPEN_PORT.
- Спецификация протокола MS-DRMND — документирует протокол или границу API, лежащие в основе NS_E_DRM_UNABLE_TO_OPEN_PORT.
Нужно найти другой код? Найти другой код состояния или ошибки.
