| Предыдущий | Следующий |
| NS_E_INTERNAL_SERVER_ERROR | NS_E_ERROR_FROM_PROXY |
NS_E_BAD_REQUEST
Что означает NS_E_BAD_REQUEST на уровне ответственного API
Когда NS_E_BAD_REQUEST (0xC00D2EE3) появляется, первый заблокированный переход — недопустимый запрос. Практически контрольную точку недопустимого запроса следует воспроизводить с теми же URL, потоком, поколением объекта и последовательностью вызовов.
При контролируемой повторной проверке условия «недопустимый запрос» запрос потоковой передачи Windows Media проходит разрешение имени, выбор прокси, согласование протокола, аутентификацию, создание сеанса и доставку пакетов, для состояния «недопустимый запрос». WMSP и связанные протоколы сохраняют состояние сеанса, поэтому одно лишь допустимое TCP-соединение не доказывает наличие работоспособного медиасеанса, для состояния «недопустимый запрос». В случае NS_E_BAD_REQUEST, сохраняйте самый ранний результат нижнего уровня, поскольку оболочки могут сопоставлять одному HRESULT несколько разных причин при сборе данных о недопустимом запросе.
Повторная проверка с сохранением протокола
- Запишите
0xC00D2EE3NS_E_BAD_REQUESTточную операцию и время первого сбоя до закрытия инцидента недопустимый запрос. - Зафиксируйте API, входные данные и исходный HRESULT для состояния «недопустимый запрос», чтобы подтвердить состояние «недопустимый запрос».
- Не используйте повторно граф, сеанс, объект чтения или объект метаданных, созданный до изменения соответствующей конфигурации или ресурса, при выделении случая недопустимый запрос.
- Проведите один изолированный опыт: повторите обращение к тому же URL через один протокол и одну конечную точку, раздельно фиксируя время DNS, подключения, ответа и создания сеанса.
- Повторите запрос через тот же API и протокольный путь; другой проигрыватель или проверка локальной копии служат лишь сравнением и не подтверждают устранение ошибки недопустимого запроса.
- Подтвердите ожидаемое следующее состояние и сохраните любой новый HRESULT как отдельный последующий результат при контролируемой повторной проверке недопустимый запрос.
Что завершилось, а что нет
Зафиксируйте API, входные данные и исходный HRESULT для этого кода, чтобы подтвердить состояние «недопустимый запрос». NS_E_BAD_REQUEST.
Повторите исходную операцию в контролируемом сценарии, изменив только условие «недопустимый запрос», и сохраните API, входные данные и исходный HRESULT, относящиеся к этому состоянию.
Сетевые и протокольные данные
| Что зафиксировать | Как это помогает выделить NS_E_BAD_REQUEST |
|---|---|
| Ответственный вызов | Зафиксируйте метод API, идентичность объекта, поток или обратный вызов и временную метку контрольной точки недопустимого запроса. |
| Решающие значения | Этот фрагмент описывает диагностическую границу «недопустимый запрос»; сохраните точный вход, состояние объекта и первый внутренний результат, затем измените только ответственное условие. |
| Поколение объекта | Отметьте, когда были созданы объект чтения, записи, граф, объект URL, сеанс потоковой передачи или поставщик метаданных; устаревшее состояние может повторно вызывать NS_E_BAD_REQUEST после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний статус кодека, COM, сокета, DNS, анализатора или поставщика до NS_E_BAD_REQUEST; более поздние сообщения интерфейса менее конкретны. |
| Сравнительный сценарий для «недопустимый запрос» | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «недопустимый запрос», изменив только отклонённое предварительное условие. |
Интерпретация следующего сетевого состояния
| Результат повторной проверки | Толкование для NS_E_BAD_REQUEST |
|---|---|
| Тот же вызов по-прежнему возвращает код | Значения, определяющие обработку недопустимого запроса, не изменились либо вызывающая сторона продолжает использовать объект предыдущего поколения. |
| Новый объект работает успешно | Время жизни или кэшированное состояние способствовало появлению NS_E_BAD_REQUEST; устраните именно исходное условие «недопустимый запрос», затем создайте новый объект операции и проверьте результат по сохранённым данным. |
| Вызов доходит до другого HRESULT | Этот фрагмент описывает диагностическую границу «недопустимый запрос»; сохраните точный вход, состояние объекта и первый внутренний результат, затем измените только ответственное условие. |
| Ошибка возникает только для одного ресурса | Данные указывают на состояние конкретного содержимого, URL, точки публикации, потока, атрибута или объекта, а не на общий отказ при контролируемой проверке недопустимого запроса. |
Действия, вводящие в заблуждение
- Этот фрагмент описывает диагностическую границу «недопустимый запрос»; сохраните точный вход, состояние объекта и первый внутренний результат, затем измените только ответственное условие.
- Не стирайте данные о первом появлении
NS_E_BAD_REQUESTмногократными повторными попытками; обратные вызовы и переподключения могут заменить полезное состояние более поздней обобщающей ошибкой до закрытия инцидента недопустимого запроса. - Не публикуйте учётные данные, материалы защищённого содержимого или полные закрытые URL в диагностической записи о недопустимом запросе. Сохраняйте обезличенные идентификаторы, длины, хэши и поля протокола, необходимые для воспроизведения этой контрольной точки.
Близкие результаты не взаимозаменяемы
Главное различие: Этот фрагмент описывает диагностическую границу «недопустимый запрос»; сохраните точный вход, состояние объекта и первый внутренний результат, затем измените только ответственное условие.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_REDIRECT_TO_PROXY | Сравните ответственный API и первое отклонённое значение; это соседняя контрольная точка, а не обязательно та же причина, что и у NS_E_BAD_REQUEST. |
NS_E_INTERNAL_SERVER_ERROR | По состоянию объекта и порядку операций определите, какой код является определяющим, если оба появляются в одной трассировке при контролируемой повторной проверке недопустимый запрос. |
NS_E_ERROR_FROM_PROXY | Сохраните этот результат отдельно, если он появляется только после устранения условия NS_E_BAD_REQUEST. |
Технические ссылки для «недопустимый запрос»
- Обзор протокола потоковой передачи Windows Media по HTTP
- Получение ответа WMSP
- Взаимодействие Windows Media с прокси
- Связи протоколов потоковой передачи Windows Media
- Реестр HRESULT Microsoft
Для NS_E_BAD_REQUEST зафиксируйте API, входные данные и исходный HRESULT для этого кода, чтобы подтвердить состояние «недопустимый запрос».
Нужно найти другой код? Найти другой код состояния или ошибки.
