| Предыдущий | Следующий |
| WININET_E_INVALID_OPTION | WININET_E_OPTION_NOT_SETTABLE |
WININET_E_BAD_OPTION_LENGTH
Как диагностировать WININET_E_BAD_OPTION_LENGTH
WININET_E_BAD_OPTION_LENGTH — HRESULT, относящийся к области WinINet. Для параметра WinINet передан буфер неправильного размера.
В случае этот результат источник статуса — WinINet, а не произвольный сокетный слой. Применительно к этому результату на результат могут влиять прокси, TLS, кэш, cookie, интерактивная аутентификация и политика Internet Options.
Проверка причины
В случае этот результат формулировка указывает на недопустимые данные или состояние. Применительно к нему сохраните исходное представление до нормализации и проверяйте структуру на той границе, где её принимает API.
- Запишите переданный и требуемый размеры, тип счётчика и единицы — байты, символы, элементы или блоки.
- При разборе он проверьте, не смешиваются ли синхронный и асинхронный режимы, а также не закрывается ли родительский HINTERNET раньше дочернего.
- При разборе он повторите запрос с включённым журналом WinINet/Schannel и отдельно проверьте тот же адрес штатным клиентом под той же учётной записью.
- При разборе он сохраните полный URL, HTTP-метод, этап WinINet-вызова и параметры HINTERNET, на котором появился результат.
Как локализовать источник
- Сохраните заголовки запроса и ответа, последовательность перенаправлений и момент появления кода относительно TLS и аутентификации.
- Отделите сетевой отказ от состояния API: воспроизведите операцию новым набором HINTERNET-дескрипторов.
- Запишите URL без сокрытия схемы и узла, итоговый прокси-маршрут, системный HRESULT и результат GetLastError().
Критерий успешного исправления
В случае он считайте причину он устранённой только после проверки на тех же данных и под той же учётной записью, где возник сбой, а затем выполните контрольный тест с заведомо неверным входом.
Ссылки по этому результату
Нужно найти другой код? Найти другой код состояния или ошибки.