Что означает код HRESULT 0xC00D2EE7 (NS_E_REFUSED_BY_SERVER)?

 
Предыдущий Следующий
NS_E_SERVER_UNAVAILABLE NS_E_INCOMPATIBLE_SERVER

NS_E_REFUSED_BY_SERVER

Исследование NS_E_REFUSED_BY_SERVER не теряя первый сбой

Этот результат (0xC00D2EE7) обозначает политика или состояние сервера явно отклоняют запрошенную операцию. Код относится к контрольной точке «явный отказ медиасервера», поэтому более поздние ошибки сети, кодека или метаданных следует записывать отдельно, не заменяя ими исходный результат.

Запрос потоковой передачи Windows Media проходит DNS, выбор прокси-сервера, согласование протокола, аутентификацию, создание сеанса и доставку пакетов для состояния «политика или состояние сервера явно отклоняют запрошенную операцию». WMSP и связанные протоколы сохраняют состояние сеанса, поэтому успешное TCP-подключение само по себе не доказывает работоспособность медиасеанса при проверке «явный отказ медиасервера». В случае этот результат сохраняйте самый ранний результат нижнего уровня: оболочки способны сопоставить разные причины одному HRESULT.

Где возникает сбой

К этой контрольной точке предыдущие предварительные условия уже приняты, но компонент не может пройти границу: политика или состояние сервера явно отклоняют запрошенную операцию. Успешное открытие файла, разрешение DNS или создание COM-объекта не доказывают допустимость этого последующего этапа для состояния «политика или состояние сервера явно отклоняют запрошенную операцию».

Наиболее показательная проверка — повторить запрос к тому же медиаресурсу, сохранив один протокол и одну конечную точку, и раздельно записать время DNS-разрешения, подключения, ответа сервера и создания сеанса. Если после единственного изменения тот же вызов проходит дальше, это подтверждает границу этот результат. Если нет, вернитесь к первой вложенной ошибке и не расширяйте область исправления.

Интерпретация следующего сетевого состояния

Результат повторной проверкиТолкование для него
Тот же вызов по-прежнему возвращает кодЗначения, определяющие «явный отказ медиасервера», не изменились либо вызывающая сторона всё ещё использует объект предыдущего поколения.
Новый объект работает успешноВремя жизни или кэшированное состояние способствовало появлению этот результат; исправьте пересоздание объекта вместо обходного решения на уровне всего компьютера.
Вызов доходит до другого HRESULTИсходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии формата, графа, URL, сети или метаданных.
Сбой возникает только для одного ресурсаДанные указывают на состояние конкретного содержимого, URL, точки публикации, потока, атрибута или объекта, а не на общий сетевой сбой.

Сетевые и протокольные данные

ЗафиксируйтеКак это помогает выделить он
Ответственный вызовЗафиксируйте метод API, идентификатор объекта, поток выполнения или обратный вызов и временную метку для контрольной точки «явный отказ медиасервера».
Решающие значенияметод запроса и URL, заголовки протокола, строку состояния, заголовок сервера, длину тела ответа, временную метку события сервера и первый идентификатор запроса на контрольной точке отклонения запроса сервером
Поколение объектаОтметьте время создания объекта чтения, объекта записи, графа, URL-объекта, сеанса потоковой передачи или поставщика метаданных; устаревшее состояние может повторно вызвать он после изменения конфигурации.
Первый вложенный результатСохраните самый ранний статус кодека, COM, сокета, DNS, анализатора или поставщика до него; более поздние сообщения интерфейса менее конкретны.
Случай для сравненияИспользуйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «явный отказ медиасервера», и изменяйте только отклонённое предварительное условие.

Повторная проверка с сохранением протокола

  1. Запишите 0xC00D2EE7, он, точную операцию и время первого сбоя.
  2. Сохраните метод запроса и URL, заголовки протокола, строку состояния, заголовок сервера, длину тела ответа, временную метку события сервера и первый идентификатор запроса на контрольной точке отклонения запроса сервером.
  3. Не используйте повторно граф, сеанс, объект чтения или объект метаданных, созданные до изменения соответствующей конфигурации или ресурса для состояния «политика или состояние сервера явно отклоняют запрошенную операцию».
  4. Выполните один изолированный тест: повторить тот же запрос после изменения только сервер политика или состояние, вызвавших отказ.
  5. Повторите запрос через тот же API и протокольный тракт; другой Player или локальная копия служат только сравнением и сами по себе не доказывают устранение исходной сетевой границы для состояния «политика или состояние сервера явно отклоняют запрошенную операцию».
  6. Подтвердите ожидаемое следующее состояние и сохраните любой новый HRESULT как отдельный последующий результат.

Близкие результаты не взаимозаменяемы

Главное различие: Код относится к конкретной сетевой или протокольной границе «явный отказ медиасервера»; соседний HRESULT нужно диагностировать отдельно по его собственному владельцу.

Близкий HRESULTКак его сравнивать
NS_E_PROXY_TIMEOUTСравните ответственный API и первое отклонённое значение: это соседняя контрольная точка, а не автоматически та же причина, что и у он.
NS_E_SERVER_UNAVAILABLEИспользуйте состояние объекта и порядок операций, чтобы определить исходный код, если оба появляются в одной трассировке.
NS_E_INCOMPATIBLE_SERVERСохраните он отдельно, если он появляется только после устранения условия он.

Действия, вводящие в заблуждение

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

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

Завершайте диагностику только после того, как исходная операция с ним операция успешно выполняется на актуальном объекте и наблюдается ожидаемое следующее состояние.


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