Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Следующие флаги параметров поддерживаются WinHttpQueryOption и WinHttpSetOption.
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS
Значение по умолчанию — FALSE. Если задано значение TRUE, WinHTTP не гарантирует ход выполнения, если обратные вызовы состояния блокируются клиентским приложением.
Клиентское приложение должно выполнять минимальные операции в обратном вызове без блокировки, возвращая как можно быстрее, и, в частности, не должны ждать последующих вызовов WinHTTP. Если это не соответствует этим рекомендациям, вероятно, будет отрицательное влияние на производительность или потенциальное зависание приложения. Если этот параметр используется в установленном порядке, этот параметр может повысить производительность.
WINHTTP_OPTION_AUTOLOGON_POLICY
Задает целое число без знака, указывающее политику автоматического входа в систему с одним из следующих значений.
Срок | Описание |
---|---|
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH | Учетные данные по умолчанию не используются. Обратите внимание, что этот флаг действует только в том случае, если указать сервер по фактическому имени компьютера. Он не вступит в силу, если указать сервер с помощью localhost или IP-адреса. |
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW | Вход с проверкой подлинности с использованием учетных данных по умолчанию выполняется для всех запросов. |
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM | Вход с проверкой подлинности с использованием учетных данных по умолчанию выполняется только для запросов в локальной интрасети. |
WINHTTP_OPTION_BACKGROUND_CONNECTIONS
При установке этого параметра в дескрипторе сеанса необходимо передать количество открытых подключений. Затем при первой отправке запроса, а не при открытии только одного подключения, WinHttp открывает ряд подключений параллельно. Это может повысить производительность последующих запросов к тому же месту назначения, что не будет иметь дополнительных затрат на создание подключения.
WINHTTP_OPTION_CALLBACK
Извлекает указатель на набор функций обратного вызова с помощью WinHttpSetStatusCallback.
WINHTTP_OPTION_CLIENT_CERT_CONTEXT
Задает контекст сертификата клиента. Если приложение получает ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, он должен вызвать WinHttpSetOption , чтобы предоставить сертификат перед повтором запроса. В рамках обработки этого параметра WinHttp вызывает CertDuplicateCertificateContext в контексте сертификата, предоставленном вызывающей стороной, чтобы контекст сертификата был независимо освобожден вызывающим объектом.
Замечание
Приложение не должно пытаться закрыть хранилище сертификатов с флагом CERT_CLOSE_STORE_FORCE_FLAG в вызове CertCloseStore в хранилище сертификатов, из которого был получен контекст сертификата. Может возникнуть нарушение доступа.
Когда сервер запрашивает сертификат клиента, WinHttpSendRequest или WinHttpReceiveResponse возвращает ошибку ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED . Если сервер запрашивает сертификат, но не требует его, приложение может указать этот параметр, чтобы указать, что у него нет сертификата. Сервер может выбрать другую схему проверки подлинности или разрешить анонимный доступ к серверу. Приложение предоставляет макрос WINHTTP_NO_CLIENT_CERT_CONTEXT в параметре lpBufferWinHttpSetOption , как показано в следующем примере кода.
BOOL fRet = WinHttpSetOption(hRequest,
WINHTTP_OPTION_CLIENT_CERT_CONTEXT,
WINHTTP_NO_CLIENT_CERT_CONTEXT,
0);
Если серверу требуется сертификат клиента, он может отправить код состояния HTTP 403 в ответ. Дополнительные сведения см. в параметре WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST .
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST
Извлекает структуру SecPkgContext_IssuerListInfoEx , если ошибка из WinHttpSendRequest или WinHttpReceiveResponseERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED. Список издателей в структуре содержит список допустимых центров сертификации (ЦС) с сервера. Клиентское приложение может фильтровать список ЦС, чтобы получить сертификат клиента для проверки подлинности SSL.
Кроме того, если сервер запрашивает сертификат клиента, но не требует его, приложение может вызвать WinHttpSetOption с параметром WINHTTP_OPTION_CLIENT_CERT_CONTEXT . Дополнительные сведения см. в параметре WINHTTP_OPTION_CLIENT_CERT_CONTEXT .
WINHTTP_OPTION_CODEPAGE
Задает кодовую страницу , которая используется для обработки URL-адреса (то есть строки запроса). Значение по умолчанию — UTF8.
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
Задает целое число без знака, указывающее, включена ли проверка подлинности Passport в проверке подлинности WinHTTP . Значение может быть одним из следующих значений:
Срок | Описание |
---|---|
WINHTTP_DISABLE_PASSPORT_AUTH | Проверка подлинности Microsoft Passport отключена. Это значение по умолчанию. |
WINHTTP_DISABLE_PASSPORT_KEYRING | Отключение ключа Passport. Это значение по умолчанию. |
WINHTTP_ENABLE_PASSPORT_AUTH | Проверка подлинности паспорта включена. |
WINHTTP_ENABLE_PASSPORT_KEYRING | Включено использование ключа Passport. |
WINHTTP_OPTION_CONNECT_RETRIES
Задает или извлекает целое число без знака, содержащее количество попыток подключения к узлу. Службы HTTP Microsoft Windows (WinHTTP) пытаются только один раз на IP-адрес. Например, если вы пытаетесь подключиться к многодоменму узлу с 10 IP-адресами и WINHTTP_OPTION_CONNECT_RETRIES установлено значение 7, то WinHTTP пытается подключиться только к первому семи IP-адресу. Учитывая тот же набор 10 IP-адресов, если WINHTTP_OPTION_CONNECT_RETRIES имеет значение 20, WinHTTP пытается выполнить каждую из 10 попыток только один раз. Если попытка подключения по-прежнему завершается ошибкой после указанного числа попыток или истекло время ожидания подключения до этого, запрос отменяется. Значение по умолчанию для WINHTTP_OPTION_CONNECT_RETRIES — пять попыток.
WINHTTP_OPTION_CONNECT_TIMEOUT
Задает или извлекает целое число без знака, содержащее значение времени ожидания в миллисекундах. Установка этого параметра на бесконечное значение (0xFFFFFFFF) отключит этот таймер.
Если запрос TCP-подключения занимает больше этого значения времени ожидания, запрос отменяется. Время ожидания по умолчанию — 60 секунд. При попытке подключиться к нескольким IP-адресам для одного узла (многодомного узла) ограничение времени ожидания для каждого отдельного подключения.
WINHTTP_OPTION_CONNECTION_INFO
Извлекает исходный и целевой IP-адрес и порт запроса, который создал ответ при возврате WinHttpReceiveResponse . Приложение вызывает WinHttpQueryOption с параметром WINHTTP_OPTION_CONNECTION_INFO и предоставляет структуру WINHTTP_CONNECTION_INFO в параметре lpBuffer . Дополнительные сведения см. в WINHTTP_CONNECTION_INFO.
Область применения: Windows XP с пакетом обновления 2 (SP2) и более поздних версий; Windows 2003 с пакетом обновления 1 (SP1) и более поздних версий.
WINHTTP_OPTION_CONNECTION_GUID
Пометьте соединение, связанное с дескриптором запроса WinHTTP, с помощью GUID. Это позволяет настроить пользовательский контроль над тем, какие запросы используют группы подключений с параметром WINHTTP_OPTION_MATCH_CONNECTION_GUID .
WINHTTP_OPTION_CONNECTION_STATS_V0
Повторно использует структуру TCP_INFO_v0 для базового подключения, используемого запросом. Возвращаемая структура может содержать статистику из предыдущих запросов, отправленных через то же подключение.
Замечание
Этот параметр заменен WINHTTP_OPTION_CONNECTION_STATS_V1.
WINHTTP_OPTION_CONNECTION_STATS_V1
Повторно использует структуру TCP_INFO_v1 для базового подключения, используемого запросом. Возвращаемая структура может содержать статистику из предыдущих запросов, отправленных через то же подключение.
WINHTTP_OPTION_CONTEXT_VALUE
Задает или извлекает DWORD_PTR , содержащий указатель на значение контекста, связанное с этим дескриптором HINTERNET . Используется значение, хранящееся в буфере, и флаг параметра WINHTTP_OPTION_CONTEXT_VALUE назначается новое значение.
WINHTTP_OPTION_DECOMPRESSION
Задает DWORD флагов, определяющих, будет ли WinHTTP автоматически распаковывать тела ответа с сжатыми кодировками содержимого. WinHTTP также задает соответствующий заголовок Accept-Encoding, переопределяя любой предоставленный вызывающим элементом. Поддерживаются значения:
Срок | Описание |
---|---|
WINHTTP_DECOMPRESSION_FLAG_GZIP | Декомпрессирование содержимого: ответы gzip. |
WINHTTP_DECOMPRESSION_FLAG_DEFLATE | Декомпрессация кодирования содержимого: дефлексирование ответов. |
WINHTTP_DECOMPRESSION_FLAG_ALL | Распаковка ответов с любым поддерживаемым кодированием содержимого. |
По умолчанию WinHTTP будет доставлять сжатые ответы вызывающей объекту без изменений.
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING
Установка этого параметра в дескриптор сеанса WinHttp позволяет включить или отключить создание цепочки сертификатов сервера.
WINHTTP_OPTION_DISABLE_FEATURE
Задает целое число без знака, указывающее, какие функции отключены одним или несколькими из следующих флагов. Помните, что эта функция должна передаваться только в WinHttpSetOption по дескрипторам запросов после создания дескриптора запроса с помощью WinHttpOpenRequest и перед отправкой запроса с помощью WinHttpSendRequest.
Срок | Описание |
---|---|
WINHTTP_DISABLE_AUTHENTICATION | Автоматическая проверка подлинности отключена. |
WINHTTP_DISABLE_COOKIES | Автоматическое добавление заголовков файлов cookie в запросы отключено. Кроме того, возвращенные файлы cookie не добавляются в базу данных cookie автоматически. Отключение файлов cookie может привести к снижению производительности проверки подлинности Passport. |
WINHTTP_DISABLE_KEEP_ALIVE | Отключает семантику сохранения активности для подключения. Семантика поддержания активности необходима для проверки подлинности MSN, NTLM и других типов проверки подлинности. |
WINHTTP_DISABLE_REDIRECTS | Автоматическое перенаправление отключено при отправке запросов с помощью WinHttpSendRequest. Если автоматическое перенаправление отключено, приложение должно зарегистрировать функцию обратного вызова для успешной проверки подлинности Passport. |
WINHTTP_OPTION_DISABLE_GLOBAL_POOLING
Отключает глобальный межсеансовый пул. Это рекомендуется, так как глобальное межсеансовое пулирование является устаревшим поведением, которое поддерживается по умолчанию по причинам совместимости. Это влияет на последующее задание максимального числа подключений вручную.
WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES
Отключает одну или несколько следующих методик проверки подлинности прокси-сервера в сеансе WinHTTP, предоставив OR
все применимые варианты. Это все схемы, за исключением WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE, которые принудительно используют учетную запись локального компьютера при отправке запросов на обратный цикл или локальный адрес. Это предотвращает утечку учетных данных системы в локальные прокси-серверы HTTP.
Срок | Описание |
---|---|
WINHTTP_PROXY_DISABLE_SCHEME_BASIC | Отключает схему базовой проверки подлинности. |
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST | Отключает схему дайджест-проверки подлинности. |
WINHTTP_PROXY_DISABLE_SCHEME_NTLM | Отключает схему проверки подлинности NTLM. |
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS | Отключает схему проверки подлинности Kerberos. |
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE | Отключает схему проверки подлинности "Согласование". |
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE | Принудительно использует учетную запись локального компьютера при отправке запросов на обратный цикл или локальный адрес. |
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
Не позволяет WinHTTP повторить подключение с более низкой версией протокола безопасности при сбое первоначального согласования протокола.
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
Позволяет новым запросам открывать дополнительное подключение HTTP/2, если достигнуто максимальное число одновременных потоков, а не ожидание следующего доступного потока в существующем подключении.
WINHTTP_OPTION_ENABLE_FEATURE
Задает целое значение без знака, указывающее функции, включенные в данный момент. Может быть одним из следующих значений.
Срок | Описание |
---|---|
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION | Если этот параметр включен, WinHTTP временно отменяет олицетворение клиента в течение длительности операций проверки подлинности SSL-сертификата. Это значение можно задать только в дескрипторе сеанса. |
WINHTTP_ENABLE_SSL_REVOCATION | Если этот параметр включен, WinHTTP разрешает отзыв SSL. Это значение можно задать только в дескрипторе запроса. |
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
Задает битовую маску DWORD допустимых расширенных версий HTTP. Возможны следующие значения:
Срок | Описание |
---|---|
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) | Включает HTTP/2 для запроса. |
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) | Включает HTTP/3 для запроса. |
Нет (0x0) | Ограничивает запрос http/1.1 и более предыдущих версий. |
Устаревшие версии HTTP (1.1 и более ранних версий) нельзя отключить с помощью этого параметра. Значение по умолчанию — 0x0.
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT
Этот параметр можно задать в дескрипторе сеанса WinHttp, чтобы разрешить WinHttp использовать контекст сертификата клиента, предоставленный вызывающей стороной, при использовании HTTP/2.
WINHTTP_OPTION_ENABLETRACING
Задает значение BOOL , указывающее, включена ли в данный момент трассировка. Этот параметр можно задать только в дескрипторе NULLHINTERNET . См. также статью "Сбор трассировок WinHTTP".
WINHTTP_OPTION_ENCODE_EXTRA
Включает кодировку URL-адреса для пути и строки запроса.
Кроме того, перед вызовом WinHttp можно кодировать процент.
WINHTTP_OPTION_EXPIRE_CONNECTION
Этот параметр можно задать только в дескрипторе запроса, который по-прежнему активен (отправка или получение). Если этот параметр задан, WinHttp перестанет обслуживать запросы по подключению, связанному с дескриптором запроса, переданным в. Соединение будет закрыто после завершения вызова этого параметра дескриптора запроса. Этот параметр не принимает никаких параметров.
WINHTTP_OPTION_EXTENDED_ERROR
Извлекает целое значение без знака, содержащее код ошибки сокетов Microsoft Windows, сопоставленный с сообщениями об ошибках ERROR_WINHTTP_*, которые были возвращены в этом контексте потока. Значение NULL можно передать в качестве значения дескриптора.
WINHTTP_OPTION_FEATURE_SUPPORTED
Проверьте, поддерживается ли указанный флаг параметра этой версией WinHTTP.
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
По умолчанию, когда WinHttp отправляет запрос, если нет доступных подключений для обслуживания запроса, WinHttp попытается установить новое подключение, и запрос будет привязан к этому новому подключению. При настройке этого параметра такой запрос будет обслуживаться при первом подключении, которое становится доступным, и не обязательно устанавливается.
WINHTTP_OPTION_GLOBAL_PROXY_CREDS
Принимает указатель на структуру WINHTTP_CREDS_EX с параметром функции hInternet , равным NULL. Для этого параметра требуется раздел реестра HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Если этот раздел реестра не задан, WinHTTP вернет ошибку ERROR_WINHTTP_INVALID_OPTION. Этот раздел реестра по умолчанию отсутствует. При установке WinINet отправит учетные данные в WinHTTP. Каждый раз, когда WinHttp получает вызов проверки подлинности и если в текущем дескрипторе отсутствуют учетные данные, он будет использовать учетные данные, предоставленные WinINet. Чтобы предоставить общий доступ к учетным данным сервера в дополнение к учетным данным прокси-сервера, пользователям необходимо задать WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .
WINHTTP_OPTION_GLOBAL_SERVER_CREDS
Принимает указатель на структуру WINHTTP_CREDS_EX с параметром функции hInternet , равным NULL. Для этого параметра требуется раздел реестра HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Если этот раздел реестра не задан, WinHTTP вернет ошибку ERROR_WINHTTP_INVALID_OPTION. Этот раздел реестра по умолчанию отсутствует. При установке WinINet отправит учетные данные в WinHTTP. Каждый раз, когда WinHttp получает вызов проверки подлинности и если в текущем дескрипторе отсутствуют учетные данные, он будет использовать учетные данные, предоставленные WinINet. Чтобы предоставить общий доступ к учетным данным сервера в дополнение к учетным данным прокси-сервера, пользователям необходимо задать WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .
WINHTTP_OPTION_HANDLE_TYPE
Извлекает целое число без знака, содержащее тип переданного дескриптора HINTERNET . Возвращаемое значение может быть одним из следующих значений:
Срок | Описание |
---|---|
WINHTTP_HANDLE_TYPE_CONNECT | Дескриптор — это дескриптор соединения. |
WINHTTP_HANDLE_TYPE_REQUEST | Дескриптор — это дескриптор запроса. |
WINHTTP_HANDLE_TYPE_SESSION | Дескриптор — это дескриптор сеанса. |
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED
Запрещает использование версий протокола, отличных от версий, включенных WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL для запроса.
WINHTTP_OPTION_HTTP_PROTOCOL_USED
Возвращает DWORD, указывающий, какая расширенная версия HTTP использовалась для данного запроса. Список возможных значений см. в WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.
WINHTTP_OPTION_HTTP_VERSION
Задает или извлекает структуру HTTP_VERSION_INFO , объявляющую поддерживаемую устаревшую версию HTTP. Это вариант на уровне процесса; используйте ЗНАЧЕНИЕ NULL для дескриптора.
Замечание
Эта структура допустима для HTTP/1.0 и HTTP/1.1. Сведения о современных версиях HTTP см. в WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL и WINHTTP_OPTION_HTTP_PROTOCOL_USED.
WINHTTP_OPTION_HTTP2_KEEPALIVE
Этот параметр можно задать в дескрипторе сеанса, чтобы использовать кадры PING HTTP/2 в качестве механизма сохранения. Вызывающие серверы указывают время ожидания в миллисекундах, и после отсутствия действий по подключению в течение этого периода времени ожидания WinHttp начнет отправлять кадры PING HTTP/2. Вызывающие пользователи не могут задать значение времени ожидания менее 5000 миллисекунда.
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
Этот параметр можно задать в дескрипторе запроса WinHttp, чтобы управлять поведением WinHttp, если ответ HTTP/2 содержит заголовок Transfer-Encoding. В таком случае WinHttp возвращает ошибку, если этот параметр имеет значение FALSE.
WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW
Задайте начальный размер окна получения потока HTTP/2 и пороговое значение для отправки обновлений окна с помощью структуры WINHTTP_HTTP2_RECEIVE_WINDOW .
WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT
Использует буфер для задания времени ожидания подтверждения HTTP/3 в миллисекундах в виде PDWORD.
WINHTTP_OPTION_HTTP3_INITIAL_RTT
Настраивает начальный RTT в миллисекундах, используемых msquic.
WINHTTP_OPTION_HTTP3_KEEPALIVE
Включает семантику сохранения активности для подключения. Использует буфер для задания времени ожидания в миллисекундах в виде PDWORD.
WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE
Извлекает ошибку, предоставленную сервером, в потоке HTTP/3, используемом для отправки запроса.
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
Позволяет безопасным подключениям использовать сертификаты безопасности, для которых не удалось загрузить список отзыва сертификатов.
WINHTTP_OPTION_IPV6_FAST_FALLBACK
Включает быстрый резервный вариант IPv6 (Счастливые глазные шары) для подключения. Это поведение аналогично поведению Happy Eyeballs, описанному в RFC 6555 для улучшения времени подключения в сетях, где IPv6 является ненадежным.
- Если адреса IPv6 и IPv4 разрешаются для данного узла, WinHttp начинается с подключения к первому разрешенным IPv6-адресу с коротким временем ожидания (300 мс).
- Если это подключение завершится ошибкой, WinHttp попытается подключиться к первому разрешенным IPv4-адресу со стандартным временем ожидания.
- Если второе подключение завершится ошибкой, WinHttp повторит первый разрешенный IPv6-адрес со стандартным временем ожидания.
- Если третье подключение завершится ошибкой, WinHttp вернется к поведению по умолчанию для всех оставшихся адресов, пытаясь подключиться к каждой из них со стандартным временем ожидания до тех пор, пока подключение не будет выполнено или нет адресов.
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE
Возвращает значение, можно ли получить ответ на возврат прокси-сервера.
WINHTTP_OPTION_MATCH_CONNECTION_GUID
Принимает WINHTTP_MATCH_CONNECTION_GUID структуру, чтобы сообщить WinHTTP обслуживать запрос по сопоставлению подключения. Если задано WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED , можно использовать только подключения с соответствующим GUID. В противном случае можно использовать подключения с соответствующими идентификаторами GUID и подключениями, которые не помечены с помощью GUID.
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
Задает или извлекает целое число без знака, содержащее максимальное количество подключений, разрешенных на сервер HTTP/1.0. Значение по умолчанию — INFINITE.
Область применения: Windows Vista с пакетом обновления 1 (SP1) и более поздних версий; Windows Server 2008 и более поздних версий.
WINHTTP_OPTION_MAX_CONNS_PER_SERVER
Задает или извлекает целое число без знака, содержащее максимальное количество подключений, разрешенных на сервер. Значение по умолчанию — INFINITE.
Если этот параметр равен нулю, WinHTTP задает ограничение на количество подключений до 2.
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS
Задает максимальное число перенаправлений, которые следует за WinHTTP; Значение по умолчанию — 10. Это ограничение предотвращает приостановку несанкционированных сайтов клиента WinHTTP после большого количества перенаправлений.
Область применения: Windows XP с пакетом обновления 1 (SP1) и более поздних версий; Windows 2000 с пакетом обновления 3 (SP3) и более поздних версий.
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE
Максимальное количество ответов кода состояния 100-199, пропущенных перед возвратом окончательного кода состояния клиенту WinHTTP. Информационные коды состояния 100-199 могут отправляться сервером до окончательного кода состояния и описаны в спецификации HTTP/1.1 (дополнительные сведения см. в rfC 2616). Значение по умолчанию равно 10.
Область применения: Windows XP с пакетом обновления 1 (SP1) и более поздних версий; Windows 2000 с пакетом обновления 3 (SP3) и более поздних версий.
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE
Привязанный к объему данных, стекаемых из ответов, для повторного использования подключения, указанного в байтах. Значение по умолчанию — 1 МБ.
Область применения: Windows XP с пакетом обновления 1 (SP1) и более поздних версий; Windows 2000 с пакетом обновления 3 (SP3) и более поздних версий.
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE
Привязанный набор для максимального размера части заголовка ответа сервера, указанного в байтах. Эта привязка защищает клиента от несанкционированного сервера, пытающегося застопорить клиента, отправив ответ с бесконечным количеством данных заголовка. Значение по умолчанию — 64 КБ.
Область применения: Windows XP с пакетом обновления 1 (SP1) и более поздних версий; Windows 2000 с пакетом обновления 3 (SP3) и более поздних версий.
WINHTTP_OPTION_PARENT_HANDLE
Извлекает родительский дескриптор для этого дескриптора.
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT
Извлекает строку, содержащую кодовый текст, предоставленный сервером входа в систему Passport. Этот параметр должен быть получен сразу после ответа сервера входа в систему с кодом состояния 401. Приложение должно передавать размер буфера в байтах, достаточно большое для хранения возвращаемой строки.
WINHTTP_OPTION_PASSPORT_COBRANDING_URL
Извлекает строку, содержащую URL-адрес для графического элемента cobranding , предоставленного сервером входа в систему Passport. Этот параметр должен быть получен сразу после ответа сервера входа в систему с кодом состояния 401. Приложение должно передавать размер буфера в байтах, достаточно большое для хранения возвращаемой строки.
WINHTTP_OPTION_PASSPORT_RETURN_URL
Задает параметр только для чтения для дескриптора запроса, который получает URL-адрес возврата Passport.
WINHTTP_OPTION_PASSPORT_SIGN_OUT
Задает параметр для дескриптора сеанса для выхода из любых имен входа Passport. Приложение должно передать URL-адрес возврата Passport, полученный с помощью WINHTTP_OPTION_PASSPORT_RETURN_URL. Все файлы cookie, связанные с URL-адресом возврата, очищаются.
WINHTTP_OPTION_PASSWORD
Задает или извлекает строковое значение, содержащее пароль, связанный с дескриптором запроса.
WINHTTP_OPTION_PROXY
Задает или извлекает WINHTTP_PROXY_INFO структуру, содержащую данные прокси-сервера в существующем дескрипторе сеанса или дескрипторе запроса. При получении данных прокси-сервера приложение должно освободить строки lpszProxy и lpszProxyBypass, содержащиеся в этой структуре (если они не имеют значения NULL) с помощью функции GlobalFree. Приложение может запрашивать глобальные данные прокси-сервера (прокси по умолчанию), передав дескриптор NULL .
WINHTTP_OPTION_PROXY_PASSWORD
Задает или извлекает строковое значение, содержащее пароль, используемый для доступа к прокси-серверу.
WINHTTP_OPTION_PROXY_SPN_USED
Возвращает имя субъекта-сервера прокси-сервера, предоставленное WinHTTP для SSPI во время проверки подлинности. Это строковое значение используется для передачи в SspiPromptForCredentials после сбоя проверки подлинности.
WINHTTP_OPTION_PROXY_USERNAME
Задает или извлекает строковое значение, содержащее имя пользователя, используемое для доступа к прокси-серверу.
WINHTTP_OPTION_QUIC_STATS
Извлекает QUIC_STATISTICS структуру, содержащую сведения о подключении, такие как RTT и байты, отправленные и полученные.
WINHTTP_OPTION_READ_BUFFER_SIZE
Этот параметр не рекомендуется; он не имеет эффекта.
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE
Задает, можно ли получить сущность ответа прокси-сервера. Этот параметр по умолчанию отключен.
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
Задает или извлекает целое число без знака, содержащее значение времени ожидания в миллисекундах, чтобы дождаться получения всех заголовков ответа в запрос. Если WinHTTP не получит все заголовки в течение этого периода ожидания, запрос отменяется. Значение времени ожидания по умолчанию — 90 секунд.
Это время ожидания проверяется только при получении данных из сокета. В результате, когда истекает время ожидания, клиентское приложение не уведомляется до получения дополнительных данных с сервера. Если данные не поступают с сервера, задержка между истечением срока ожидания и уведомлением клиентского приложения может быть максимально большой, чем задано значение времени ожидания с помощью параметра dwReceiveTimeout функции WinHttpSetTimeouts .
WINHTTP_OPTION_RECEIVE_TIMEOUT
Задает или извлекает целое число без знака, содержащее значение времени ожидания (в миллисекундах), чтобы получить частичный ответ на запрос или прочитать некоторые данные. Если ответ занимает больше времени ожидания, запрос отменяется. По умолчанию время ожидания составляет 30 секунд.
WINHTTP_OPTION_REDIRECT_POLICY
Задает поведение WinHTTP в отношении обработки кода состояния перенаправления HTTP 30x. Этот параметр можно задать в сеансе или дескрипторе запроса на одно из следующих значений:
Срок | Описание |
---|---|
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS | Все перенаправления выполняются автоматически. |
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP | Следуют все перенаправления, за исключением тех, которые исходят из защищенного URL-адреса (https) на небезопасный URL-адрес (http). Это параметр по умолчанию. |
WINHTTP_OPTION_REDIRECT_POLICY_NEVER | Перенаправления никогда не следуют. Состояние 30x возвращается приложению. |
WINHTTP_OPTION_REJECT_USERPWD_IN_URL
Отклоняет URL-адреса, содержащие имя пользователя и пароль. Этот параметр также отклоняет URL-адреса, содержащие семантику имени пользователя:password , даже если имя пользователя или пароль не указан. Например, "u:p@hostname", "@hostname:", "u:@hostname" и ":p@hostname" будут помечены как недопустимые. Если в функцию передается недопустимый URL-адрес, он возвращает ERROR_WINHTTP_INVALID_URL. Этот параметр отключен по умолчанию.
WINHTTP_OPTION_REQUEST_ANNOTATION
Включает получение и настройку заметки запроса для предоставленного имени заметки. Это позволяет вызывающему объекту присоединять строку к запросу для последующего получения, чтобы определить запросы по какой-либо пользовательской логике вызывающий объект находит полезное.
WINHTTP_OPTION_REQUEST_PRIORITY
Этот параметр не рекомендуется; он не имеет эффекта.
WINHTTP_OPTION_REQUEST_STATS
Возвращает статистику для запроса. Список доступных статистических данных см. в WINHTTP_REQUEST_STATS.
WINHTTP_OPTION_REQUEST_TIMES
Возвращает сведения о времени запроса. Список доступных сроков см. в WINHTTP_REQUEST_TIMES.
WINHTTP_OPTION_REQUIRE_STREAM_END
Этот параметр сообщает WinHttp игнорировать заголовки ответа Content-Length и продолжать получать в потоке до получения флага END_STREAM.
WINHTTP_OPTION_RESOLUTION_HOSTNAME
Этот параметр можно задать в дескрипторе запроса WinHttp перед отправкой. Если задано, WinHttp будет использовать указанную вызывающую строку в качестве имени узла для разрешения DNS.
WINHTTP_OPTION_RESOLVE_TIMEOUT
Задает или извлекает целое число без знака, содержащее значение времени ожидания в миллисекундах для разрешения имени узла. Значение времени ожидания по умолчанию — INFINITE. Если указано значение, отличное от значения по умолчанию, для разрешения имен создается один поток.
WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT
Отменяет олицетворение любого потока при создании цепочки сертификатов сервера, заставляя вместо этого использовать маркер процесса.
WINHTTP_OPTION_SECURE_PROTOCOLS
Задает целое значение без знака, указывающее, какие протоколы secure (HTTPS) допустимы. Значение по умолчанию для этого параметра зависит от версии операционной системы и может повлиять на установленные обновления.
- Windows 11. По умолчанию включены только TLS1.2 и TLS1.3.
- Windows 10 и Windows 8.1. По умолчанию включены только SSL3, TLS1.0, TLS1.1 и TLS1.2.
- Windows 8 и Windows 7. По умолчанию включены только протоколы SSL3 и TLS1.
Это значение может быть сочетанием одного или нескольких следующих значений.
Срок | Описание |
---|---|
WINHTTP_FLAG_SECURE_PROTOCOL_ALL | Можно использовать протоколы SSL 2.0, SSL 3.0 и TLS 1.0. |
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 | Протокол SSL 2.0 можно использовать. |
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 | Протокол SSL 3.0 можно использовать. |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 | Можно использовать протокол TLS 1.0. |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 | Можно использовать протокол TLS 1.1. |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 | Можно использовать протокол TLS 1.2. |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 | Можно использовать протокол TLS 1.3. |
Если необходимо включить поддержку новых протоколов, но не удается перекомпилировать приложение для использования соответствующих значений WINHTTP_OPTION_SECURE_PROTOCOLS, можно добавить DefaultSecureProtocols
запись реестра. Эта запись реестра позволяет указать, какие безопасные протоколы следует использовать, если параметр WINHTTP_OPTION_SECURE_PROTOCOLS не задан.
Это важно
Приведенные ниже инструкции включают изменение реестра. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому внимательно следуйте этим инструкциям. Для дополнительной защиты создайте резервную копию реестра перед его изменением. Затем, при возникновении проблемы, вы можете восстановить реестр. Дополнительные сведения о резервном копировании и восстановлении реестра см. в статье "Как создать резервную копию и восстановить реестр в Windows".
Если приложение не вызывает WinHttpSetOption(WINHTTP_OPTION_SECURE_PROTOCOLS), система проверяет наличие DefaultSecureProtocols
записи реестра и, если она присутствует, переопределяет существующие операционные системы по умолчанию с протоколами, указанными в DefaultSecureProtocols
записи реестра. Указанные протоколы WinHTTP могут быть переуправляемы параметрами конфигурации Secure Channel (Schannel), которые могут отключать протоколы.
Запись реестра можно добавить DefaultSecureProtocols
в следующий путь:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
На компьютерах на основе x64 необходимо также добавить DefaultSecureProtocols
Wow6432Node
путь:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
Значение реестра — это растровое изображение DWORD. Используемое значение определяется путем добавления значений, соответствующих требуемым протоколам.
Значение DefaultSecureProtocols | Протокол включен |
---|---|
0x00000008 | Включить протокол SSL 2.0 по умолчанию |
0x00000020 | Включить протокол SSL 3.0 по умолчанию |
0x00000080 | Включить протокол TLS 1.0 по умолчанию |
0x00000200 | Включить протокол TLS 1.1 по умолчанию |
0x00000800 | Включить протокол TLS 1.2 по умолчанию |
0x00002000 | Включение TLS 1.3 по умолчанию |
Например, если вы хотите переопределить значения по умолчанию для WINHTTP_OPTION_SECURE_PROTOCOLS , чтобы указать TLS 1.1 и TLS 1.2. В этом случае примите значение TLS 1.1 (0x00000200) и значение TLS 1.2 (0x00000800), добавьте их вместе в калькулятор (в режиме программиста), а результирующее значение реестра будет 0x00000A00.
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
Извлекает сертификат для сервера SSL/TLS в структуру WINHTTP_CERTIFICATE_INFO . Приложение должно освободить члены lpszSubjectInfo и lpszIssuerInfo с помощью LocalFree.
WINHTTP_OPTION_SECURITY_FLAGS
Задает или извлекает целое число без знака, содержащее флаги безопасности для дескриптора. Это может быть сочетание следующих значений:
Срок | Описание |
---|---|
SECURITY_FLAG_IGNORE_CERT_CN_INVALID | Разрешает недопустимое общее имя в сертификате; То есть имя сервера, указанное приложением, не соответствует общему имени в сертификате. Если этот флаг задан, приложение не получает обратный вызов WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID . |
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | Разрешает недопустимую дату сертификата, т. е. истек срок действия или недействителен. Если этот флаг задан, приложение не получает обратный вызов WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID . |
SECURITY_FLAG_IGNORE_UNKNOWN_CA | Разрешает недопустимый центр сертификации. Если этот флаг задан, приложение не получает обратный вызов WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA . |
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE | Позволяет установить удостоверение сервера с сертификатом, отличным от сервера (например, сертификатом клиента). |
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE | Позволяет игнорировать слабую подпись. Этот флаг доступен в накопительном обновлении для каждой ОС, начиная с Windows 7 и Windows Server 2008 R2. |
SECURITY_FLAG_SECURE | Использует безопасные передачи. Это возвращается только в вызове WinHttpQueryOption. |
SECURITY_FLAG_STRENGTH_MEDIUM | Использует среднее (56-разрядное) шифрование. Это возвращается только в вызове WinHttpQueryOption. |
SECURITY_FLAG_STRENGTH_STRONG | Использует строгое (128-разрядное) шифрование. Это возвращается только в вызове WinHttpQueryOption. |
SECURITY_FLAG_STRENGTH_WEAK | Использует слабое (40-разрядное) шифрование. Это возвращается только в вызове WinHttpQueryOption. |
WINHTTP_OPTION_SECURITY_INFO
Повторно используется подключение SChannel и сведения о шифре для запроса.
WINHTTP_OPTION_SECURITY_KEY_BITNESS
Извлекает целое число без знака, содержащее силу шифра ключа шифрования. Большее число указывает на более строгое шифрование силы шифра.
WINHTTP_OPTION_SEND_TIMEOUT
Задает или извлекает целое число без знака, содержащее значение времени ожидания в миллисекундах для отправки запроса или записи некоторых данных. Если отправка запроса занимает больше времени ожидания, операция отправки отменяется. По умолчанию время ожидания составляет 30 секунд.
WINHTTP_OPTION_SERVER_CBT
Возвращает указатель на SecPkgContext_Bindings структуру, указывающую маркер привязки канала (CBT).
Маркер привязки канала — это свойство безопасного транспортного канала и используется для привязки канала проверки подлинности к защищенному транспортному каналу. Этот маркер можно получить только по этому параметру после установки SSL-подключения.
Замечание
Передача этого параметра и значение NULL для lpBuffer в WinHttpQueryOption вернет ERROR_INSUFFICIENT_BUFFER и требуемый размер байтов для буфера в параметре lpdwBufferLength . Это возвращаемое значение размера буфера можно передать в последующем вызове для запроса маркера привязки канала. Эти действия необходимы при обработке WINHTTP_CALLBACK_STATUS_REQUEST, если требуется изменить заголовки запросов на основе маркера привязки канала. Обратите внимание, что Windows XP и Vista не поддерживают изменение заголовков запросов во время обратного вызова.
WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
Извлекает контекст цепочки сертификации сервера. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT можно передать, чтобы получить дублированный указатель на CERT_CHAIN_CONTEXT для цепочки сертификатов сервера, полученной во время согласованного SSL-подключения. Клиент должен вызвать CertFreeCertificateContext на возвращенном PCCERT_CONTEXT указателе, который заполняется в буфер.
WINHTTP_OPTION_SERVER_CERT_CONTEXT
Извлекает контекст сертификации сервера. WINHTTP_OPTION_SERVER_CERT_CONTEXT можно передать, чтобы получить дублированный указатель на контекст CERT для сертификата сервера, полученного во время согласованного SSL-подключения. Клиент должен вызвать CertFreeCertificateContext на возвращенном PCCERT_CONTEXT указателе, который заполняется в буфер.
WINHTTP_OPTION_SERVER_SPN_USED
Возвращает имя субъекта-сервера, предоставленное WinHTTP для SSPI во время проверки подлинности. Это строковое значение можно передать в SspiPromptForCredentials после сбоя проверки подлинности.
WINHTTP_OPTION_SPN
Включает или удаляет номер порта сервера при создании имени субъекта-службы (имени субъекта-службы) для проверки подлинности Kerberos или согласования проверки подлинности Kerberos. Этот флаг является одним из следующих значений:
Срок | Описание |
---|---|
WINHTTP_DISABLE_SPN_SERVER_PORT | Удаляет номер порта сервера. |
WINHTTP_ENABLE_SPN_SERVER_PORT | Включает номер порта сервера. |
WINHTTP_OPTION_STREAM_ERROR_CODE
Этот параметр можно запросить в дескрипторе запроса WinHttp и возвратить код ошибки, указанный RST_STREAM кадром, полученным в HTTP-потоке.
WINHTTP_OPTION_TCP_FAST_OPEN
Включает tcp Fast Open для подключения.
WINHTTP_OPTION_TCP_KEEPALIVE
Этот параметр можно задать в дескрипторе сеанса WinHttp, чтобы включить поведение по поддержанию активности TCP в базовом сокете. Принимает структуру tcp_keepalive .
WINHTTP_OPTION_TLS_FALSE_START
Включает значение TLS False Start для подключения.
WINHTTP_OPTION_TCP_PRIORITY_STATUS
Запросите намеченный приоритет набора сокетов TCP с помощью WINHTTP_OPTION_TCP_PRIORITY_HINT. Дополнительные сведения см. в документации по SIO_SET_PRIORITY_HINT .
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
Этот параметр можно задать в дескрипторе сеанса WinHttp, чтобы контролировать, разрешен ли резервный возврат к TLS 1.0, если произошел сбой подтверждения TLS с более новой версией протокола.
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
Принимает событие, которое будет задано при завершении последнего обратного вызова для определенного сеанса. Этот флаг должен использоваться в дескрипторе сеанса. Событие не может быть закрыто до тех пор, пока оно не было задано WinHTTP.
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
Этот параметр зарезервирован для внутреннего использования и не должен вызываться.
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
Указывает стеку запустить процесс подтверждения WebSocket с помощью WinHttpSendRequest. Этот параметр не принимает параметров.
WINHTTP_OPTION_URL
Извлекает строковое значение, содержащее полный URL-адрес загруженного ресурса. Если исходный URL-адрес содержал дополнительные данные, такие как строки поиска или привязки, или если вызов был перенаправлен, возвращаемый URL-адрес отличается от исходного. Приложение должно передавать буфер, размер в байтах, достаточно большой для хранения возвращаемого URL-адреса в широкой символике.
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
Принимает boOL и может быть задан только дескриптор сеанса. Он будет распространяться только на дескриптор, созданный из дескриптора сеанса после установки параметра. Если значение TRUE, этот параметр вызывает использование учетных данных глобального сервера, которые были отправлены из WinInet. По умолчанию для этого параметра используется значение FALSE. Для этого параметра требуется раздел реестра HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Этот раздел реестра по умолчанию отсутствует. При установке WinINet отправит учетные данные в WinHTTP. Каждый раз, когда WinHttp получает вызов проверки подлинности и если в текущем дескрипторе отсутствуют учетные данные, он будет использовать учетные данные, предоставленные WinINet.
WINHTTP_OPTION_USE_SESSION_SCH_CRED
Позволяет задать для всех конечных точек сеанса один учетные данные по умолчанию, а не учетные данные по умолчанию для каждой конечной точки. Это может повысить производительность, сокращая затраты на управление учетными данными. Обратите внимание, что эти учетные данные по умолчанию не будут влиять на явно предоставленный сертификат клиента.
WINHTTP_OPTION_USER_AGENT
Задает или извлекает строку агента пользователя на дескрипторах, предоставленных WinHttpOpen и используемых в последующих функциях WinHttpSendRequest, если он не переопределяется заголовком, добавленным WinHttpAddRequestHeaders или WinHttpSendRequest. При получении агента пользователя приложение должно передавать буфер, размер в байтах, достаточно большой для хранения возвращаемого URL-адреса в широкой символике. При настройке агента пользователя размер буфера составляет длину строки в символах, а также конца NULL .
WINHTTP_OPTION_USERNAME
Задает или извлекает строку, содержащую имя пользователя.
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT
Задает время в миллисекундах, которое WinHttpWebSocketClose должно ждать завершения закрытия подтверждения. Значение по умолчанию — 10 секунд.
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL
Задает интервал (в миллисекундах) для отправки пакета в режиме поддержания активности через подключение. Интервал по умолчанию — 30000 (30 секунд). Минимальный интервал — 15000 (15 секунд). Использование WinHttpSetOption для задания значения ниже 15000 возвращается с ERROR_INVALID_PARAMETER.
Замечание
Значение по умолчанию для WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL считывается из HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval. Если значение не задано, будет использоваться значение по умолчанию 30000. Невозможно иметь более низкий интервал хранения, чем 15000 миллисекундах.
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE
Задает или извлекает DWORD, указывающий размер буфера получения, используемый для подключений WebSocket.
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE
Задает или извлекает DWORD, указывающий размер буфера отправки, используемый для подключений WebSocket.
WINHTTP_OPTION_WORKER_THREAD_COUNT
Задает целое число без знака, указывающее количество рабочих потоков пула потоков, которые должны использоваться для асинхронных завершения. Значение по умолчанию этого параметра равно нулю, указывающее, что число рабочих потоков равно количеству ЦП в системе. Этот параметр можно задать только в дескрипторе NULLHINTERNET перед асинхронной операцией. Этот параметр можно задать только один раз.
Область применения: Windows 7 и более поздних версий; Windows Server 2008 R2 и более поздних версий.
WINHTTP_OPTION_WRITE_BUFFER_SIZE
Этот параметр не рекомендуется; он не имеет эффекта.
Замечания
В следующей таблице перечислены флаги параметров, указывая, какие дескриптора могут выполняться, можно ли запрашивать и задавать, а также используемый тип данных. Значение "X" указывает, что флаг параметра действителен для использования с функцией или дескриптором, а флаг параметра является недопустимым.
Попытка задать или запросить флаг параметра в версии Windows, где она не поддерживается, приведет к ERROR_WINHTTP_INVALID_OPTION.
Флаг параметра и тип данных | Дескриптор сеанса | Дескриптор запроса | Параметр запроса | Параметр SET | Минимальная версия Windows |
---|---|---|---|---|---|
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS BOOL |
X | - | - | X | - |
WINHTTP_OPTION_AUTOLOGON_POLICY DWORD |
- | X | - | X | - |
WINHTTP_OPTION_BACKGROUND_CONNECTIONS DWORD |
X | - | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_CALLBACK LPVOID |
X | X | X | X | - |
WINHTTP_OPTION_CLIENT_CERT_CONTEXT CERT_CONTEXT |
- | X | - | X | Windows Vista |
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST SecPkgContext_IssuerListInfoEx |
- | X | X | - | Windows Vista |
WINHTTP_OPTION_CODEPAGE DWORD |
X | - | - | X | - |
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH DWORD |
X | - | - | X | - |
WINHTTP_OPTION_CONNECT_RETRIES DWORD |
X | X | X | X | - |
WINHTTP_OPTION_CONNECT_TIMEOUT DWORD |
X | X | X | X | - |
WINHTTP_OPTION_CONNECTION_INFO WINHTTP_CONNECTION_INFO |
- | X | X | - | - |
WINHTTP_OPTION_CONNECTION_STATS_V0 TCP_INFO_v0 |
- | X | X | - | Windows 10 версии 1903 |
WINHTTP_OPTION_CONNECTION_STATS_V1 TCP_INFO_v1 |
- | X | X | - | Windows 10 версии 2004 |
WINHTTP_OPTION_CONTEXT_VALUE DWORD_PTR |
X | X | X | X | - |
WINHTTP_OPTION_DECOMPRESSION DWORD |
X | X | - | X | Windows 8.1 |
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING BOOL |
X | - | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_DISABLE_FEATURE DWORD |
- | X | - | X | - |
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK BOOL |
X | - | - | X | Windows 10 версии 1903 |
WINHTTP_OPTION_DISABLE_STREAM_QUEUE BOOL |
X | X | - | X | Windows 10 версии 1809 |
WINHTTP_OPTION_ENABLE_FEATURE DWORD |
* | * | - | X | - |
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL DWORD |
X | X | - | X | Windows 10 версии 1607 |
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT BOOL |
X | - | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_ENABLETRACING DWORD |
- | - | X | X | - |
WINHTTP_OPTION_ENCODE_EXTRA BOOL |
X | X | - | X | Windows 10 версии 1803 |
WINHTTP_OPTION_EXPIRE_CONNECTION Не применимо |
- | X | - | X | Windows 10 версии 1903 |
WINHTTP_OPTION_EXTENDED_ERROR DWORD |
X | X | X | - | - |
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION BOOL |
X | - | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_GLOBAL_PROXY_CREDS WINHTTP_CREDS |
X | X | - | X | - |
WINHTTP_OPTION_GLOBAL_SERVER_CREDS WINHTTP_CREDS_EX |
X | X | - | X | - |
WINHTTP_OPTION_HANDLE_TYPE DWORD |
X | X | X | - | - |
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED BOOL |
X | X | - | X | Windows 10 версии 1903 |
WINHTTP_OPTION_HTTP_PROTOCOL_USED DWORD |
- | X | X | - | Windows 10 версии 1607 |
WINHTTP_OPTION_HTTP_VERSION HTTP_VERSION_INFO |
X | X | X | X | - |
WINHTTP_OPTION_HTTP2_KEEPALIVE DWORD |
X | - | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING BOOL |
X | X | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE BOOL |
- | X | - | X | Windows 10 версии 2004 |
WINHTTP_OPTION_IPV6_FAST_FALLBACK BOOL |
X | - | - | X | Windows 10 версии 1903 |
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE BOOL |
X | X | X | - | - |
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER DWORD |
X | - | X | X | - |
WINHTTP_OPTION_MAX_CONNS_PER_SERVER DWORD |
X | - | X | X | - |
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS DWORD |
X | X | X | X | - |
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE DWORD |
X | X | X | X | - |
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE DWORD |
X | X | X | X | - |
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE DWORD |
X | X | X | X | - |
WINHTTP_OPTION_PARENT_HANDLE HINTERNET |
X | X | X | - | - |
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT LPWSTR |
- | X | X | - | - |
WINHTTP_OPTION_PASSPORT_COBRANDING_URL LPWSTR |
- | X | X | - | - |
WINHTTP_OPTION_PASSPORT_RETURN_URL LPVOID |
- | X | X | - | - |
WINHTTP_OPTION_PASSPORT_SIGN_OUT LPVOID |
X | - | - | X | - |
WINHTTP_OPTION_PASSWORD LPWSTR |
- | X | X | X | - |
WINHTTP_OPTION_PROXY WINHTTP_PROXY_INFO |
X | X | X | X | - |
WINHTTP_OPTION_PROXY_PASSWORD LPWSTR |
- | X | X | X | - |
WINHTTP_OPTION_PROXY_SPN_USED LPWSTR |
- | X | X | - | - |
WINHTTP_OPTION_PROXY_USERNAME LPWSTR |
- | X | X | X | - |
WINHTTP_OPTION_READ_BUFFER_SIZE DWORD |
- | X | X | X | - |
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE BOOL |
X | X | - | X | - |
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT DWORD |
X | X | X | X | - |
WINHTTP_OPTION_RECEIVE_TIMEOUT DWORD |
X | X | X | X | - |
WINHTTP_OPTION_REDIRECT_POLICY DWORD |
X | X | X | X | - |
WINHTTP_OPTION_REJECT_USERPWD_IN_URL BOOL |
- | X | - | X | - |
WINHTTP_OPTION_REQUEST_PRIORITY DWORD |
- | X | X | X | - |
WINHTTP_OPTION_REQUEST_STATS WINHTTP_REQUEST_STATS |
- | X | X | - | Windows 10 версии 1903 |
WINHTTP_OPTION_REQUEST_TIMES WINHTTP_REQUEST_TIMES |
- | X | X | - | Windows 10 версии 1903 |
WINHTTP_OPTION_REQUIRE_STREAM_END BOOL |
X | X | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_RESOLUTION_HOSTNAME LPWSTR |
- | X | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_RESOLVE_TIMEOUT DWORD |
X | X | X | X | - |
WINHTTP_OPTION_SECURE_PROTOCOLS DWORD |
X | - | - | X | - |
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT WINHTTP_CERTIFICATE_INFO |
- | X | X | - | - |
WINHTTP_OPTION_SECURITY_FLAGS DWORD |
- | X | X | X | - |
WINHTTP_OPTION_SECURITY_INFO WINHTTP_SECURITY_INFO |
- | X | X | - | Windows 10 версии 2004 |
WINHTTP_OPTION_SECURITY_KEY_BITNESS DWORD |
- | X | X | - | - |
WINHTTP_OPTION_SEND_TIMEOUT DWORD |
X | X | X | X | - |
WINHTTP_OPTION_SERVER_CBT SecPkgContext_Bindings* |
- | X | X | - | - |
WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT CERT_CHAIN_CONTEXT |
- | X | X | - | Windows 10 версии 2004 |
WINHTTP_OPTION_SERVER_CERT_CONTEXT КОНТЕКСТ CERT |
- | X | X | - | - |
WINHTTP_OPTION_SERVER_SPN_USED LPWSTR |
- | X | X | - | - |
WINHTTP_OPTION_SPN DWORD |
- | X | - | X | - |
WINHTTP_OPTION_STREAM_ERROR_CODE DWORD |
- | X | X | - | Windows 10 версии 21H1 |
WINHTTP_OPTION_TCP_FAST_OPEN BOOL |
X | - | - | X | Windows 10 версии 2004 |
WINHTTP_OPTION_TCP_KEEPALIVE tcp_keepalive |
X | - | - | X | Windows 10 версии 2004 |
WINHTTP_OPTION_TLS_FALSE_START BOOL |
X | - | - | X | Windows 10 версии 2004 |
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK BOOL |
X | - | - | X | Windows 10 версии 21H1 |
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT HINTERNET |
X | - | - | X | - |
WINHTTP_OPTION_UNSAFE_HEADER_PARSING DWORD |
- | X | - | X | - |
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET Не применимо |
- | X | - | X | - |
WINHTTP_OPTION_URL LPWSTR |
- | X | X | - | - |
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS BOOL |
X | X | - | X | - |
WINHTTP_OPTION_USER_AGENT LPWSTR |
X | - | X | X | - |
WINHTTP_OPTION_USERNAME LPWSTR |
- | X | X | X | - |
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT DWORD |
- | - | X | X | - |
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL DWORD |
- | - | X | X | - |
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE DWORD |
X | X | X | X | Windows 8.1 |
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE DWORD |
X | X | X | X | Windows 8.1 |
WINHTTP_OPTION_WORKER_THREAD_COUNT DWORD |
- | - | - | X | - |
WINHTTP_OPTION_WRITE_BUFFER_SIZE DWORD |
- | X | X | X | - |
Замечание
Для Windows XP и Windows 2000 см. Run-Time требования.
Требования
Требование | Ценность |
---|---|
Минимальный поддерживаемый клиент | Windows XP, Windows 2000 Профессиональный с пакетом обновления 3 (SP3) [только классические приложения] |
Минимальный поддерживаемый сервер | Windows Server 2003, Windows 2000 Server с пакетом обновления 3 (SP3) [классические приложения только] |
Компоненты для повторного распространения | WinHTTP 5.0 и Internet Explorer 5.01 или более поздней версии в Windows XP и Windows 2000. |
Заголовок | Winhttp.h |