Sdílet prostřednictvím


Příznaky možností

Následující příznaky možností podporují WinHttpQueryOption a WinHttpSetOption.

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

Výchozí hodnota je NEPRAVDA. Pokud je nastavená hodnota PRAVDA, winHTTP nezaručuje průběh, pokud klientská aplikace zablokuje zpětná volání stavu.

Klientská aplikace musí věnovat zvláštní pozornost provádění minimálních operací v rámci zpětného volání bez blokování, vrácení co nejrychleji a zejména nesmí čekat na další volání WinHTTP. Pokud tyto pokyny nedodržuje, pravděpodobně dojde k negativnímu dopadu na výkon nebo potenciální zablokování aplikace. Pokud se používá předepsaném způsobem, může tato možnost zlepšit výkon.

WINHTTP_OPTION_AUTOLOGON_POLICY

Nastaví celočíselnou hodnotu bez znaménka, která určuje zásady automatického přihlášení s jednou z následujících hodnot.

termín Popis
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH Výchozí přihlašovací údaje se nepoužívají. Všimněte si, že tento příznak se projeví pouze v případě, že server zadáte podle skutečného názvu počítače. Nebude platit, pokud server zadáte pomocí "localhost" nebo IP adresy.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW Pro všechny požadavky se provádí ověřený protokol s použitím výchozích přihlašovacích údajů.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM Ověřený protokol s použitím výchozích přihlašovacích údajů se provádí pouze pro požadavky v místním intranetu.

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

Když tuto možnost nastavíte na popisovač relace, musíte předat počet připojení, která chcete otevřít. Při prvním odeslání požadavku místo otevření jediného připojení pak WinHttp otevře několik připojení paralelně. To může zvýšit výkon následných požadavků do stejného cíle, což nebude mít režijní náklady na zřízení připojení.

WINHTTP_OPTION_CALLBACK

Načte ukazatel na sadu funkcí zpětného volání pomocí WinHttpSetStatusCallback.

WINHTTP_OPTION_CLIENT_CERT_CONTEXT

Nastaví kontext klientského certifikátu. Pokud aplikace obdrží ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, musí před opakováním požadavku zavolat WinHttpSetOption zadat certifikát. Jako součást zpracování této možnosti volá WinHttp CertDuplicateCertificateContext v kontextu certifikátu poskytnutého volajícím, aby kontext certifikátu mohl být nezávisle vydaný volajícím.

Poznámka:

Aplikace by se neměla pokoušet zavřít úložiště certifikátů s příznakem CERT_CLOSE_STORE_FORCE_FLAG ve volání CertCloseStore v úložišti certifikátů, ze kterého byl načten kontext certifikátu. Může dojít k narušení přístupu.

Když server požaduje klientský certifikát, WinHttpSendRequest nebo WinHttpReceiveResponse vrátí chybu ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED . Pokud server požádá o certifikát, ale nevyžaduje ho, může tuto možnost zadat, aby určila, že certifikát nemá. Server může zvolit jiné schéma ověřování nebo povolit anonymní přístup k serveru. Aplikace poskytuje makro WINHTTP_NO_CLIENT_CERT_CONTEXT v parametru lpBufferWinHttpSetOption , jak je znázorněno v následujícím příkladu kódu.

BOOL fRet = WinHttpSetOption(hRequest,
                             WINHTTP_OPTION_CLIENT_CERT_CONTEXT,
                             WINHTTP_NO_CLIENT_CERT_CONTEXT,
                             0);

Pokud server vyžaduje klientský certifikát, může v odpovědi odeslat stavový kód HTTP 403. Další informace najdete v WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST možnosti.

WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST

Načte strukturu SecPkgContext_IssuerListInfoEx, když je ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED chyba z WinHttpSendRequest nebo WinHttpReceiveResponse. Seznam vystavitelů ve struktuře obsahuje seznam přijatelných certifikačních autorit (CA) ze serveru. Klientská aplikace může vyfiltrovat seznam certifikační autority a načíst klientský certifikát pro ověřování SSL.

Pokud server požádá o klientský certifikát, ale nevyžaduje ho, může aplikace volat WinHttpSetOption s možností WINHTTP_OPTION_CLIENT_CERT_CONTEXT . Další informace najdete v WINHTTP_OPTION_CLIENT_CERT_CONTEXT možnosti.

WINHTTP_OPTION_CODEPAGE

Nastaví znakovou stránku , která se používá ke zpracování adresy URL (to znamená řetězce dotazu). Výchozí hodnota je UTF8.

WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH

Nastaví celočíselnou hodnotu bez znaménka, která určuje, jestli je povolené ověřování Passportem v ověřování WinHTTP . Hodnota může být jedna z následujících možností:

termín Popis
WINHTTP_DISABLE_PASSPORT_AUTH Ověřování službou Microsoft Passport je zakázané. Toto je výchozí hodnota.
WINHTTP_DISABLE_PASSPORT_KEYRING Keyring passportu je zakázaný. Toto je výchozí hodnota.
WINHTTP_ENABLE_PASSPORT_AUTH Ověřování passportem je povolené.
WINHTTP_ENABLE_PASSPORT_KEYRING Je povolená klávesová zkratka Passportu.

WINHTTP_OPTION_CONNECT_RETRIES

Nastaví nebo načte celočíselnou hodnotu bez znaménka, která obsahuje počet pokusůWinHTTP o připojení k hostiteli. Microsoft Windows HTTP Services (WinHTTP) se pokusí pouze jednou na ip adresu (Internet Protocol). Pokud se například pokusíte připojit k hostiteli s více adresami, který má 10 IP adres a WINHTTP_OPTION_CONNECT_RETRIES je nastavená na hodnotu 7, pokusí se winHTTP připojit pouze k první sedmi IP adrese. Pokud je WINHTTP_OPTION_CONNECT_RETRIES nastavená na 20 ip adres, služba WinHTTP se pokusí použít stejnou sadu 10 IP adres pouze jednou. Pokud pokus o připojení stále selže po zadaném počtu pokusů nebo pokud vypršel časový limit připojení před tím, požadavek se zruší. Výchozí hodnota pro WINHTTP_OPTION_CONNECT_RETRIES je pět pokusů.

WINHTTP_OPTION_CONNECT_TIMEOUT

Nastaví nebo načte celočíselnou hodnotu bez znaménka, která obsahuje hodnotu časového limitu v milisekundách. Nastavení této možnosti na nekonečné (0xFFFFFFFF) tento časovač zakáže.

Pokud žádost o připojení TCP trvá déle, než je tato hodnota časového limitu, požadavek se zruší. Výchozí časový limit je 60 sekund. Při pokusu o připojení k více IP adres pro jednoho hostitele (více hostitelů) je limit časového limitu pro každé jednotlivá připojení.

WINHTTP_OPTION_CONNECTION_INFO

Načte zdrojovou a cílovou IP adresu a port požadavku, který vygeneroval odpověď při vrácení WinHttpReceiveResponse . Aplikace volá WinHttpQueryOption s možností WINHTTP_OPTION_CONNECTION_INFO a poskytuje WINHTTP_CONNECTION_INFO strukturu v parametru lpBuffer . Další informace najdete v tématu WINHTTP_CONNECTION_INFO.

Platí pro: Windows XP s aktualizací SP2 a novější; Windows 2003 s aktualizací SP1 a novější.

WINHTTP_OPTION_CONNECTION_GUID

Označte připojení přidružené k popisovači požadavku WinHTTP s identifikátorem GUID. To umožňuje vlastní kontrolu nad tím, které požadavky používají skupiny připojení s možností WINHTTP_OPTION_MATCH_CONNECTION_GUID .

WINHTTP_OPTION_CONNECTION_STATS_V0

Retreives the TCP_INFO_v0 struct for the underlying connection used by the request. Vrácená struktura může obsahovat statistiky z předchozích požadavků odeslaných přes stejné připojení.

Poznámka:

Tato možnost byla nahrazena WINHTTP_OPTION_CONNECTION_STATS_V1.

WINHTTP_OPTION_CONNECTION_STATS_V1

Retreives the TCP_INFO_v1 struct for the underlying connection used by the request. Vrácená struktura může obsahovat statistiky z předchozích požadavků odeslaných přes stejné připojení.

WINHTTP_OPTION_CONTEXT_VALUE

Nastaví nebo načte DWORD_PTR , který obsahuje ukazatel na kontextovou hodnotu přidruženou k tomuto popisovači HINTERNET . Hodnota uložená ve vyrovnávací paměti se použije a příznak možnosti WINHTTP_OPTION_CONTEXT_VALUE má přiřazenou novou hodnotu.

WINHTTP_OPTION_DECOMPRESSION

Nastaví DWORD příznaků, které určují, zda WinHTTP automaticky dekomprimuje tělo odpovědi komprimovanými kódováními obsahu. WinHTTP také nastaví odpovídající hlavičku Accept-Encoding, která přepíše všechny zadané volajícím. Podporované hodnoty jsou:

termín Popis
WINHTTP_DECOMPRESSION_FLAG_GZIP Dekomprese kódování obsahu: odpovědi gzip.
WINHTTP_DECOMPRESSION_FLAG_DEFLATE Dekomprese kódování obsahu: deflate odpovědi.
WINHTTP_DECOMPRESSION_FLAG_ALL Dekomprese odpovědí s jakýmkoli podporovaným kódováním obsahu.

WinHTTP ve výchozím nastavení doručí komprimované odpovědi volajícímu bez úprav.

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

Nastavení této možnosti na popisovači relace WinHttp umožňuje povolit nebo zakázat, jestli je sestaven řetěz certifikátů serveru.

WINHTTP_OPTION_DISABLE_FEATURE

Nastaví celočíselnou hodnotu bez znaménka, která určuje, které funkce jsou zakázány s jedním nebo více z následujících příznaků. Mějte na paměti, že tato funkce by měla být předána winHttpSetOption pouze na zpracování požadavků po vytvoření popisovače požadavku pomocí WinHttpOpenRequest a před odesláním požadavku pomocí WinHttpSendRequest.

termín Popis
WINHTTP_DISABLE_AUTHENTICATION Automatické ověřování je zakázané.
WINHTTP_DISABLE_COOKIES Automatické přidávání hlaviček souborů cookie do požadavků je zakázané. Vrácené soubory cookie se také automaticky nepřidávají do databáze souborů cookie. Zakázání souborů cookie může mít za následek nízký výkon ověřování passportem.
WINHTTP_DISABLE_KEEP_ALIVE Zakáže sémantiku udržování připojení. Pro msn, NTLM a další typy ověřování jsou vyžadovány sémantiky udržování naživu.
WINHTTP_DISABLE_REDIRECTS Automatické přesměrování je zakázáno při odesílání požadavků pomocí WinHttpSendRequest. Pokud je automatické přesměrování zakázané, musí aplikace zaregistrovat funkci zpětného volání, aby ověřování Passportu proběhlo úspěšně.

WINHTTP_OPTION_DISABLE_GLOBAL_POOLING

Zakáže globální sdružování napříč relacemi. Tento postup se doporučuje, protože globální sdružování napříč relacemi je starší verze chování, které je ve výchozím nastavení podporováno z důvodů kompatibility. To má vliv na pozdější nastavení maximálního počtu připojení ručně.

WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES

Zakáže jeden nebo více následujících postupů ověřování proxy serveru v relaci WinHTTP tím, že poskytne OR všechny příslušné volby. Toto jsou všechna schémata s výjimkou WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE, která při odesílání požadavků na zpětné smyčky nebo místní adresu vynutí použití účtu místního počítače. To brání úniku systémových přihlašovacích údajů místním proxy serverům HTTP.

termín Popis
WINHTTP_PROXY_DISABLE_SCHEME_BASIC Zakáže schéma základního ověřování.
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST Zakáže schéma ověřování hodnotou hash.
WINHTTP_PROXY_DISABLE_SCHEME_NTLM Zakáže schéma ověřování NTLM.
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS Zakáže schéma ověřování kerberos.
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE Zakáže schéma ověřování Negotiate.
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE Vynutí použití účtu místního počítače při odesílání požadavků na zpětné smyčky nebo místní adresu.

WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK

Zabrání službě WinHTTP v opakování připojení s nižší verzí protokolu zabezpečení v případě selhání počátečního vyjednávání protokolu.

WINHTTP_OPTION_DISABLE_STREAM_QUEUE

Umožňuje novým požadavkům otevřít další připojení HTTP/2, pokud je dosaženo maximálního limitu souběžného datového proudu, a nečeká na další dostupný datový proud u existujícího připojení.

WINHTTP_OPTION_ENABLE_FEATURE

Nastaví celočíselnou hodnotu bez znaménka, která určuje aktuálně povolené funkce. Může to být jedna z následujících hodnot.

termín Popis
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION Pokud je tato možnost povolená, WinHTTP dočasně vrátí zosobnění klienta po dobu trvání operací ověřování certifikátů SSL. Tuto hodnotu lze nastavit pouze u popisovače relace.
WINHTTP_ENABLE_SSL_REVOCATION Pokud je tato možnost povolená, winHTTP povolí odvolání SSL. Tuto hodnotu lze nastavit pouze u popisovače požadavku.

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

Nastaví bitovou masku DWORD s přijatelnými pokročilými verzemi HTTP. Možné hodnoty:

termín Popis
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) Povolí požadavek HTTP/2.
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) Povolí požadavek HTTP/3.
Žádné (0x0) Omezí požadavek na HTTP/1.1 a předchozí.

Starší verze PROTOKOLU HTTP (1.1 a starší) nelze zakázat pomocí této možnosti. Výchozí hodnota je 0x0.

WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT

Tuto možnost můžete nastavit u popisovače relace WinHttp, aby služba WinHttp mohla při použití protokolu HTTP/2 používat kontext klientského certifikátu poskytnutého volajícím.

WINHTTP_OPTION_ENABLETRACING

Nastaví hodnotu BOOL , která určuje, jestli je trasování aktuálně povolené. Tuto možnost lze nastavit pouze u popisovače NULLHINTERNET . Viz také shromažďování trasování WinHTTP.

WINHTTP_OPTION_ENCODE_EXTRA

Povolí kódování v procentech adres URL pro cestu a řetězec dotazu.

Alternativně můžete před voláním WinHttp zakódovat procento.

WINHTTP_OPTION_EXPIRE_CONNECTION

Tuto možnost lze nastavit pouze u popisovače požadavku, který je stále aktivní (odesílání nebo příjem). Nastavením této možnosti sdělíte službě WinHttp, aby přestal obsluhovat požadavky na připojení přidružené k obslužné rutině požadavku předané. Připojení se zavře po dokončení zpracování požadavku, se kterým se tato možnost zavolá. Tato možnost nepřebírají žádné parametry.

WINHTTP_OPTION_EXTENDED_ERROR

Načte dlouhou celočíselnou hodnotu bez znaménka, která obsahuje kód chyby rozhraní Microsoft Windows Sockets mapovaný na chybové zprávy ERROR_WINHTTP_* naposledy vrácený v tomto kontextu vlákna. Jako hodnotu popisovače můžete předat hodnotu NULL .

WINHTTP_OPTION_FEATURE_SUPPORTED

Zkontrolujte, jestli tato verze WinHTTP podporuje příznak poskytnuté možnosti.

WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION

Pokud WinHttp ve výchozím nastavení odešle požadavek, pokud nejsou k dispozici žádná dostupná připojení k odeslání požadavku, služba WinHttp se pokusí navázat nové připojení a požadavek bude vázán na toto nové připojení. Když tuto možnost nastavíte, místo toho se takový požadavek bude obsluhovat při prvním připojení, které bude k dispozici, a nemusí nutně být navázáno.

WINHTTP_OPTION_GLOBAL_PROXY_CREDS

Vezme ukazatel na WINHTTP_CREDS_EX strukturu s parametrem funkce hInternet nastaveným na hodnotu NULL. Tato možnost vyžaduje klíč registru HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Pokud tento klíč registru není nastavený, winHTTP vrátí chybu ERROR_WINHTTP_INVALID_OPTION. Tento klíč registru není ve výchozím nastavení k dispozici. Když je nastavená, WinINet odešle přihlašovací údaje dolů do WinHTTP. Pokaždé, když WinHttp získá ověřovací výzvu a v aktuálním popisovači nejsou nastavené žádné přihlašovací údaje, použije přihlašovací údaje poskytnuté službou WinINet. Aby uživatelé mohli kromě přihlašovacích údajů proxy serveru sdílet přihlašovací údaje serveru, musí nastavit WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_GLOBAL_SERVER_CREDS

Vezme ukazatel na WINHTTP_CREDS_EX strukturu s parametrem funkce hInternet nastaveným na hodnotu NULL. Tato možnost vyžaduje klíč registru HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Pokud tento klíč registru není nastavený, winHTTP vrátí chybu ERROR_WINHTTP_INVALID_OPTION. Tento klíč registru není ve výchozím nastavení k dispozici. Když je nastavená, WinINet odešle přihlašovací údaje dolů do WinHTTP. Pokaždé, když WinHttp získá ověřovací výzvu a v aktuálním popisovači nejsou nastavené žádné přihlašovací údaje, použije přihlašovací údaje poskytnuté službou WinINet. Aby uživatelé mohli kromě přihlašovacích údajů proxy serveru sdílet přihlašovací údaje serveru, musí nastavit WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_HANDLE_TYPE

Načte celočíselnou hodnotu bez znaménka, která obsahuje typ popisovače HINTERNET předaného. Návratová hodnota může být jedna z následujících možností:

termín Popis
WINHTTP_HANDLE_TYPE_CONNECT Popisovač je popisovač připojení.
WINHTTP_HANDLE_TYPE_REQUEST Popisovač je popisovač požadavku.
WINHTTP_HANDLE_TYPE_SESSION Popisovač je popisovač relace.

WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED

Zabraňuje tomu, aby se pro požadavek používaly jiné verze protokolu než verze povolené WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL .

WINHTTP_OPTION_HTTP_PROTOCOL_USED

Získá DWORD určující, která pokročilá verze HTTP byla použita pro daný požadavek. Seznam možných hodnot najdete v tématu WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.

WINHTTP_OPTION_HTTP_VERSION

Nastaví nebo načte HTTP_VERSION_INFO strukturu deklarující podporovanou starší verzi PROTOKOLU HTTP. Jedná se o možnost pro celý proces; pro popisovač použijte hodnotu NULL .

Poznámka:

Tato struktura je platná pro http/1.0 a HTTP/1.1. Moderní verze HTTP najdete v tématu WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL a WINHTTP_OPTION_HTTP_PROTOCOL_USED.

WINHTTP_OPTION_HTTP2_KEEPALIVE

Tuto možnost můžete nastavit u popisovače relace tak, aby winHttp používala rámce HTTP/2 PING jako keepalive mechanismus. Volající zadávají časový limit v milisekundách a po žádné aktivitě připojení pro dané časové období začne WinHttp odesílat rámce HTTP/2 PING. Volající nemohou nastavit hodnotu časového limitu menší než 5000 milisekund.

WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING

Tuto možnost můžete nastavit pro popisovač požadavku WinHttp, který určuje, jak se WinHttp chová, když odpověď HTTP/2 obsahuje hlavičku "Transfer-Encoding". V takovém případě winHttp vrátí chybu, pokud je tato možnost nastavená na HODNOTU NEPRAVDA.

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

Nastavte počáteční velikost okna příjmu datového proudu HTTP/2 a prahovou hodnotu pro odesílání aktualizací okna pomocí struktury WINHTTP_HTTP2_RECEIVE_WINDOW .

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

Použije vyrovnávací paměť k nastavení časového limitu handshake HTTP/3 v milisekundách jako PDWORD.

WINHTTP_OPTION_HTTP3_INITIAL_RTT

Konfiguruje počáteční rtT v milisekundách, které používá msquic.

WINHTTP_OPTION_HTTP3_KEEPALIVE

Povolí sémantiku udržování připojení. Použije vyrovnávací paměť k nastavení časového limitu udržování v milisekundách jako PDWORD.

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

Načte chybu zadanou serverem v datovém proudu HTTP/3 použitém k odeslání požadavku.

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

Umožňuje zabezpečeným připojením používat certifikáty zabezpečení, pro které nelze stáhnout seznam odvolaných certifikátů.

WINHTTP_OPTION_IPV6_FAST_FALLBACK

Umožňuje rychlé použití protokolu IPv6 (Šťastnější eyeballs) pro připojení. Toto chování se podobá chování Happy Eyeballs popsané v DOKUMENTU RFC 6555 pro zlepšení doby připojení v sítích, kde IPv6 je nespolehlivý.

  • Pokud se adresy IPv6 i IPv4 pro daného hostitele přeloží, WinHttp se začne připojovat k první vyřešené adrese IPv6 s krátkým časovým limitem (300 ms).
  • Pokud se připojení nezdaří, WinHttp se pokusí připojit k první vyřešené adrese IPv4 se standardním časovým limitem.
  • Pokud druhé připojení selže, WinHttp zopakuje první vyřešenou adresu IPv6 se standardním časovým limitem.
  • Pokud třetí připojení selže, winHttp se vrátí k výchozímu chování všech zbývajících adres a pokusí se připojit k jednotlivým adresům se standardním časovým limitem, dokud se připojení neprovedou nebo nezůstanou žádné adresy.

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

Získá, zda se dá načíst odpověď služby Proxy Return Connect nebo ne.

WINHTTP_OPTION_MATCH_CONNECTION_GUID

Vezme WINHTTP_MATCH_CONNECTION_GUID strukturu, která službě WinHTTP sdělí, že má požadavek obsluhovat odpovídající připojení. Pokud je nastavená WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED , je možné použít pouze připojení s odpovídajícím identifikátorem GUID. V opačném případě je možné použít připojení s odpovídajícími identifikátory GUID a připojeními, která nejsou označena žádným identifikátorem GUID.

WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER

Nastaví nebo načte celočíselnou hodnotu bez znaménka, která obsahuje maximální povolený počet připojení na server HTTP/1.0. Výchozí hodnota je INFINITE.

Platí pro: Windows Vista s AKTUALIZACÍ SP1 a novější; Windows Server 2008 a novější

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

Nastaví nebo načte celočíselnou hodnotu bez znaménka, která obsahuje maximální povolený počet připojení na server. Výchozí hodnota je INFINITE.

Pokud je tato možnost nastavená na nulu, winHTTP nastaví limit počtu připojení na 2.

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

Nastaví maximální počet přesměrování, které winHTTP následuje; výchozí hodnota je 10. Tento limit brání neoprávněným webům v pozastavení klienta WinHTTP po velkém počtu přesměrování.

Platí pro: Windows XP s aktualizací SP1 a novější; Windows 2000 s aktualizací SP3 a novější.

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

Maximální počet odpovědí stavového kódu Informational 100-199 se před vrácením konečného stavového kódu klientovi WinHTTP ignoroval. Informační stavové kódy 100-199 mohou být odeslány serverem před konečným stavovým kódem a jsou popsány ve specifikaci http/1.1 (další informace naleznete v dokumentu RFC 2616). Výchozí hodnota je 10.

Platí pro: Windows XP s aktualizací SP1 a novější; Windows 2000 s aktualizací SP3 a novější.

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

Vázaná na množství dat vyprázdněných z odpovědí za účelem opětovného použití připojení určeného v bajtech. Výchozí hodnota je 1 MB.

Platí pro: Windows XP s aktualizací SP1 a novější; Windows 2000 s aktualizací SP3 a novější.

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

Mez nastavená na maximální velikost části hlavičky odpovědi serveru zadané v bajtech. Tato hranice chrání klienta před neoprávněným serverem, který se pokouší klienta zastavit odesláním odpovědi s nekonečným množstvím dat hlavičky. Výchozí hodnota je 64 kB.

Platí pro: Windows XP s aktualizací SP1 a novější; Windows 2000 s aktualizací SP3 a novější.

WINHTTP_OPTION_PARENT_HANDLE

Načte nadřazený popisovač k tomuto popisovači.

WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT

Načte řetězec obsahující text cobrandingu poskytnutý přihlašovacím serverem Passport. Tato možnost by se měla načíst okamžitě po odezvě přihlašovacího serveru se stavovým kódem 401. Aplikace by měla předat velikost vyrovnávací paměti v bajtech, která je dostatečně velká pro uložení vráceného řetězce.

WINHTTP_OPTION_PASSPORT_COBRANDING_URL

Načte řetězec, který obsahuje adresu URL pro grafiku cobrandingu poskytovanou přihlašovacím serverem Passport. Tato možnost by se měla načíst okamžitě po odezvě přihlašovacího serveru se stavovým kódem 401. Aplikace by měla předat velikost vyrovnávací paměti v bajtech, která je dostatečně velká pro uložení vráceného řetězce.

WINHTTP_OPTION_PASSPORT_RETURN_URL

Nastaví možnost jen pro čtení u popisovače požadavku, který načte zpáteční adresu URL služby Passport.

WINHTTP_OPTION_PASSPORT_SIGN_OUT

Nastaví možnost v popisovači relace, aby se odhlasil z přihlášení k Passportu. Aplikace by měla předat adresu URL pro vrácení služby Passport, která byla načtena pomocí WINHTTP_OPTION_PASSPORT_RETURN_URL. Vymažou se všechny soubory cookie související s adresou URL pro vrácení.

WINHTTP_OPTION_PASSWORD

Nastaví nebo načte řetězcovou hodnotu, která obsahuje heslo přidružené k popisovači požadavku.

WINHTTP_OPTION_PROXY

Nastaví nebo načte WINHTTP_PROXY_INFO strukturu , která obsahuje data proxy serveru v existujícím popisovači relace nebo popisovači požadavku. Při načítání dat proxy musí aplikace uvolnit řetězce lpszProxy a lpszProxyBypass obsažené v této struktuře (pokud nejsou NULL) pomocí funkce GlobalFree . Aplikace se může dotazovat na globální data proxy serveru (výchozí proxy server) předáním popisovače NULL .

WINHTTP_OPTION_PROXY_PASSWORD

Nastaví nebo načte řetězcovou hodnotu, která obsahuje heslo použité pro přístup k proxy serveru.

WINHTTP_OPTION_PROXY_SPN_USED

Získá hlavní název proxy serveru, který WinHTTP poskytl SSPI během ověřování. Tato řetězcová hodnota se používá k předání do SspiPromptForCredentials po selhání ověřování.

WINHTTP_OPTION_PROXY_USERNAME

Nastaví nebo načte řetězcovou hodnotu, která obsahuje uživatelské jméno použité pro přístup k proxy serveru.

WINHTTP_OPTION_QUIC_STATS

Načte QUIC_STATISTICS strukturu, která obsahuje informace o připojení, jako je RTT a bajty odeslané a přijaté.

WINHTTP_OPTION_READ_BUFFER_SIZE

Tato možnost je zastaralá; nemá žádný účinek.

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

Nastaví, zda je možné načíst entitu odpovědi proxy serveru nebo ne. Tato možnost je ve výchozím nastavení zakázaná.

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

Nastaví nebo načte celočíselnou hodnotu bez znaménka, která obsahuje hodnotu časového limitu v milisekundách, aby počkala na přijetí všech hlaviček odpovědi na požadavek. Pokud se službě WinHTTP nepodaří přijmout všechna záhlaví v rámci tohoto časového limitu, žádost se zruší. Výchozí hodnota časového limitu je 90 sekund.

Tento časový limit je zaškrtnutý pouze v případě, že se data přijímají ze soketu. V důsledku toho se po vypršení časového limitu klientské aplikace neoznámí, dokud ze serveru nedorazí další data. Pokud ze serveru nepřicházejí žádná data, prodleva mezi vypršením časového limitu a oznámením klientské aplikace může být tak velká jako hodnota časového limitu nastavená pomocí parametru dwReceiveTimeout funkce WinHttpSetTimeouts .

WINHTTP_OPTION_RECEIVE_TIMEOUT

Nastaví nebo načte nepodepsanou dlouhou celočíselnou hodnotu, která obsahuje hodnotu časového limitu v milisekundách, aby získala částečnou odpověď na požadavek nebo přečetla některá data. Pokud odpověď trvá déle, než je tato hodnota časového limitu, požadavek se zruší. Výchozí hodnota časového limitu je 30 sekund.

WINHTTP_OPTION_REDIRECT_POLICY

Nastaví chování winHTTP týkající se zpracování stavového kódu http redirect 30x. Tuto možnost můžete nastavit pro relaci nebo zpracování požadavku na jednu z následujících hodnot:

termín Popis
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS Všechna přesměrování jsou sledována automaticky.
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP Následují všechna přesměrování s výjimkou těch, které pocházejí ze zabezpečené adresy URL (https) na nezabezpečenou adresu URL (http). Toto je výchozí nastavení.
WINHTTP_OPTION_REDIRECT_POLICY_NEVER Přesměrování se nikdy neslouží. Stav 30x se vrátí do aplikace.

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

Odmítne adresy URL, které obsahují uživatelské jméno a heslo. Tato možnost také odmítne adresy URL, které obsahují sémantiku username:password , a to i v případě, že není zadáno žádné uživatelské jméno nebo heslo. Například "u:p@hostname", ":@hostname", "u:", "u:@hostname" a ":p@název hostitele" by byly označeny jako neplatné. Pokud funkci předá neplatná adresa URL, vrátí ERROR_WINHTTP_INVALID_URL. Tato možnost je ve výchozím nastavení vypnutá.

WINHTTP_OPTION_REQUEST_ANNOTATION

Umožňuje získat a nastavit poznámku požadavku pro zadaný název poznámky. Volající tak může k požadavku připojit řetězec pro pozdější načtení, aby identifikoval požadavky podle jakékoli vlastní logiky, kterou volající najde užitečný.

WINHTTP_OPTION_REQUEST_PRIORITY

Tato možnost je zastaralá; nemá žádný účinek.

WINHTTP_OPTION_REQUEST_STATS

Retreives statistics for the request. Seznam dostupných statistik najdete v tématu WINHTTP_REQUEST_STATS.

WINHTTP_OPTION_REQUEST_TIMES

Retreives timing information for the request. Seznam dostupných časování najdete v tématu WINHTTP_REQUEST_TIMES.

WINHTTP_OPTION_REQUIRE_STREAM_END

Tato možnost říká službě WinHttp, aby ignorovala hlavičky odpovědi Content-Length a pokračovala v přijímání streamu, dokud se nepřijme příznak END_STREAM.

WINHTTP_OPTION_RESOLUTION_HOSTNAME

Tuto možnost můžete nastavit u popisovače požadavku WinHttp před odesláním. Pokud je tato možnost nastavená, WinHttp použije jako název hostitele pro překlad DNS řetězec poskytnutý volajícím.

WINHTTP_OPTION_RESOLVE_TIMEOUT

Nastaví nebo načte dlouhou celočíselnou hodnotu bez znaménka, která obsahuje hodnotu časového limitu v milisekundách, aby se přeložil název hostitele. Výchozí hodnota časového limitu je INFINITE. Pokud je zadaná jiná než výchozí hodnota, je režijní náklady na vytvoření jednoho vlákna na překlad názvů.

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

Vrátí všechny zosobnění vlákna při vytváření řetězu certifikátů serveru, což místo toho vynutí použití tokenu procesu.

WINHTTP_OPTION_SECURE_PROTOCOLS

Nastaví celočíselnou hodnotu bez znaménka, která určuje, které protokoly SECURE (HTTPS) jsou přijatelné. Výchozí hodnota tohoto nastavení se liší podle verze operačního systému a může mít vliv na nainstalované aktualizace.

  • Windows 11. Ve výchozím nastavení jsou povolené jenom protokoly TLS1.2 a TLS1.3.
  • Windows 10 a Windows 8.1. Ve výchozím nastavení jsou povolené jenom protokoly SSL3, TLS1.0, TLS1.1 a TLS1.2.
  • Windows 8 a Windows 7. Ve výchozím nastavení jsou povoleny pouze protokoly SSL3 a TLS1.

Hodnota může být kombinací jedné nebo více následujících hodnot.

termín Popis
WINHTTP_FLAG_SECURE_PROTOCOL_ALL Můžete použít protokoly SSL (Secure Sockets Layer) 2.0, SSL 3.0 a TLS (Transport Layer Security).
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 Lze použít protokol SSL 2.0.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 Lze použít protokol SSL 3.0.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 Lze použít protokol TLS 1.0.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 Lze použít protokol TLS 1.1.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 Lze použít protokol TLS 1.2.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 Lze použít protokol TLS 1.3.

Pokud potřebujete povolit podporu pro novější protokoly, ale nemůžete aplikaci znovu zkompilovat tak, aby používala odpovídající hodnoty WINHTTP_OPTION_SECURE_PROTOCOLS, můžete místo toho přidat DefaultSecureProtocols položku registru. Tato položka registru umožňuje určit, které zabezpečené protokoly se mají použít, když není nastavena možnost WINHTTP_OPTION_SECURE_PROTOCOLS .

Důležité

Následující pokyny zahrnují úpravu registru. Pokud však registr upravíte nesprávně, může dojít k vážným problémům. Proto se ujistěte, že tyto pokyny pečlivě dodržujete. Pro přidání ochrany zálohujte registr před úpravou. Potom můžete registr obnovit, pokud dojde k problému. Další informace o zálohování a obnovení registru naleznete v tématu Postup zálohování a obnovení registru v systému Windows.

Pokud aplikace nevolá WinHttpSetOption(WINHTTP_OPTION_SECURE_PROTOCOLS), systém zkontroluje DefaultSecureProtocols položku registru a pokud existuje, přepíše stávající výchozí nastavení operačního systému pomocí protokolů zadaných v DefaultSecureProtocols položce registru. Protokoly určené protokoly WinHTTP je možné přerušovat nastavením konfigurace Schannel (Secure Channel), která můžou protokoly zakázat.

Položku registru můžete přidat DefaultSecureProtocols do následující cesty:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

Na počítačích s platformou x64 musíte také přidat DefaultSecureProtocols cestu Wow6432Node :

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

Hodnota registru je rastrový obrázek DWORD. Hodnota, kterou chcete použít, je určena přidáním hodnot odpovídajících požadovaným protokolům.

Výchozí hodnotaSecureProtocols Povolený protokol
0x00000008 Povolení SSL 2.0 ve výchozím nastavení
0x00000020 Povolení SSL 3.0 ve výchozím nastavení
0x00000080 Povolení protokolu TLS 1.0 ve výchozím nastavení
0x00000200 Povolení protokolu TLS 1.1 ve výchozím nastavení
0x00000800 Povolení protokolu TLS 1.2 ve výchozím nastavení
0x00002000 Povolení protokolu TLS 1.3 ve výchozím nastavení

Pokud například chcete přepsat výchozí hodnoty pro WINHTTP_OPTION_SECURE_PROTOCOLS zadat tls 1.1 a TLS 1.2. V takovém případě vezměte hodnotu protokolu TLS 1.1 (0x00000200) a hodnotu protokolu TLS 1.2 (0x00000800), sečte je do kalkulačky (v programátorském režimu) a výsledná hodnota registru by byla 0x00000A00.

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

Načte certifikát pro server SSL/TLS do struktury WINHTTP_CERTIFICATE_INFO . Aplikace musí uvolnit členy lpszSubjectInfo a lpszIssuerInfo s LocalFree.

WINHTTP_OPTION_SECURITY_FLAGS

Nastaví nebo načte celočíselnou hodnotu bez znaménka, která obsahuje příznaky zabezpečení popisovače. Může to být kombinace těchto hodnot:

termín Popis
SECURITY_FLAG_IGNORE_CERT_CN_INVALID Umožňuje neplatný běžný název v certifikátu; to znamená, že název serveru určený aplikací neodpovídá běžnému názvu certifikátu. Pokud je tento příznak nastavený, aplikace neobdrží zpětná volání WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID .
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID Povolí neplatné datum certifikátu, tj. platnost certifikátu, jehož platnost vypršela nebo ještě není platná. Pokud je tento příznak nastavený, aplikace neobdrží WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID zpětné volání.
SECURITY_FLAG_IGNORE_UNKNOWN_CA Povolí neplatnou certifikační autoritu. Pokud je tento příznak nastavený, aplikace neobdrží zpětná volání WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA .
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE Umožňuje vytvořit identitu serveru s certifikátem, který není serverem (například klientský certifikát).
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE Umožňuje ignorování slabého podpisu.
Tento příznak je k dispozici v kumulativní aktualizaci pro každý operační systém počínaje systémy Windows 7 a Windows Server 2008 R2.
SECURITY_FLAG_SECURE Používá zabezpečené přenosy. Tato funkce se vrátí pouze v volání WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_MEDIUM Používá střední (56bitové) šifrování. Tato funkce se vrátí pouze v volání WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_STRONG Používá silné (128bitové) šifrování. Tato funkce se vrátí pouze v volání WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_WEAK Používá slabé (40bitové) šifrování. Tato funkce se vrátí pouze v volání WinHttpQueryOption.

WINHTTP_OPTION_SECURITY_INFO

Retreives the SChannel connection and cipher information for a request.

WINHTTP_OPTION_SECURITY_KEY_BITNESS

Načte celočíselnou hodnotu bez znaménka, která obsahuje sílu šifrování šifrovacího klíče. Větší číslo označuje silnější šifrování šifry.

WINHTTP_OPTION_SEND_TIMEOUT

Nastaví nebo načte dlouhou celočíselnou hodnotu bez znaménka, která obsahuje hodnotu časového limitu v milisekundách, a odešle požadavek nebo zapíše nějaká data. Pokud odeslání požadavku trvá déle, než je časový limit, operace odeslání se zruší. Výchozí časový limit je 30 sekund.

WINHTTP_OPTION_SERVER_CBT

Získá ukazatel na SecPkgContext_Bindings struktury, která určuje token vazby kanálu (CBT).

Token vazby kanálu je vlastnost zabezpečeného přenosového kanálu a slouží k vytvoření vazby ověřovacího kanálu k zabezpečenému přenosovému kanálu. Tento token lze získat pouze touto možností po navázání připojení SSL.

Poznámka:

Předání této možnosti a hodnoty null pro lpBuffer do WinHttpQueryOption vrátí ERROR_INSUFFICIENT_BUFFER a požadovanou velikost bajtu vyrovnávací paměti v parametru lpdwBufferLength . Tato vrácená hodnota velikosti vyrovnávací paměti se dá předat v následném volání dotazu na token vazby kanálu. Tyto kroky jsou nezbytné při zpracování WINHTTP_CALLBACK_STATUS_REQUEST, pokud chcete upravit hlavičky požadavků na základě tokenu vazby kanálu. Upozorňujeme, že systém Windows XP a Vista nepodporují úpravu hlaviček požadavků během tohoto zpětného volání.

WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT

Načte kontext řetězce certifikace serveru. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT lze předat k získání duplicitního ukazatele na CERT_CHAIN_CONTEXT řetězu certifikátů serveru přijatého během vyjednaného připojení SSL. Klient musí volat CertFreeCertificateContext na vrácený PCCERT_CONTEXT ukazatel, který je vyplněn do vyrovnávací paměti.

WINHTTP_OPTION_SERVER_CERT_CONTEXT

Načte kontext certifikace serveru. WINHTTP_OPTION_SERVER_CERT_CONTEXT lze předat, aby se získal duplicitní ukazatel na kontext certifikátu CERT pro certifikát serveru přijatý během vyjednaného připojení SSL. Klient musí volat CertFreeCertificateContext na vrácený PCCERT_CONTEXT ukazatel, který je vyplněn do vyrovnávací paměti.

WINHTTP_OPTION_SERVER_SPN_USED

Získá hlavní název serveru, který WinHTTP poskytl SSPI během ověřování. Tuto hodnotu řetězce lze předat SspiPromptForCredentials po selhání ověřování.

WINHTTP_OPTION_SPN

Zahrne nebo odebere číslo portu serveru při vytváření hlavního názvu služby (SPN) pro ověřování Kerberos nebo Negotiate Kerberos. Tento příznak je jednou z následujících hodnot:

termín Popis
WINHTTP_DISABLE_SPN_SERVER_PORT Odebere číslo portu serveru.
WINHTTP_ENABLE_SPN_SERVER_PORT Obsahuje číslo portu serveru.

WINHTTP_OPTION_STREAM_ERROR_CODE

Tato možnost se dá dotazovat na popisovač požadavku WinHttp a vrátí kód chyby označený RST_STREAM rámcem přijatým ve streamu HTTP.

WINHTTP_OPTION_TCP_FAST_OPEN

Povolí pro připojení protokol TCP Fast Open.

WINHTTP_OPTION_TCP_KEEPALIVE

Tuto možnost můžete nastavit na popisovač relace WinHttp, aby se na podkladovém soketu povolilo chování protokolu TCP keep-alive. Přebírá tcp_keepalive strukturu.

WINHTTP_OPTION_TLS_FALSE_START

Povolí pro připojení nepravdivé spuštění protokolu TLS.

WINHTTP_OPTION_TCP_PRIORITY_STATUS

Zadejte dotaz na naznačenou prioritu sady soketů TCP pomocí WINHTTP_OPTION_TCP_PRIORITY_HINT. Další podrobnosti najdete v dokumentaci k SIO_SET_PRIORITY_HINT .

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

Tuto možnost je možné nastavit u popisovače relace WinHttp a určit, jestli je povolená záložní verze protokolu TLS 1.0, pokud dojde k selhání metody handshake protokolu TLS s novější verzí protokolu.

WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT

Přijme událost, která se nastaví při dokončení posledního zpětného volání pro určitou relaci. Tento příznak musí být použit v popisovači relace. Událost nelze zavřít, dokud ji nenastaví WinHTTP.

WINHTTP_OPTION_UNSAFE_HEADER_PARSING

Tato možnost je vyhrazená pro interní použití a neměla by se volat.

WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET

Dává zásobníku pokyn, aby spustil proces handshake WebSocket pomocí WinHttpSendRequest. Tato možnost nepřijímá žádné parametry.

WINHTTP_OPTION_URL

Načte řetězcovou hodnotu, která obsahuje úplnou adresu URL staženého prostředku. Pokud původní adresa URL obsahovala nějaká další data, jako jsou vyhledávací řetězce nebo kotvy, nebo pokud bylo volání přesměrováno, adresa URL vrácená se liší od původního. Aplikace by měla předat vyrovnávací paměť s velikostí v bajtech, která je dostatečně velká pro uložení vrácené adresy URL v širokém znaku.

WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS

Přebírá boOL a lze nastavit pouze popisovač relace. Rozšíří se pouze na popisovače vytvořené z popisovače relace po nastavení této možnosti. Pokud je pravda, tato možnost způsobí jako poslední možnost použití přihlašovacích údajů globálního serveru, které byly vloženy z WinInet. Výchozí hodnota pro tuto možnost je NEPRAVDA. Tato možnost vyžaduje klíč registru HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Tento klíč registru není ve výchozím nastavení k dispozici. Když je nastavená, WinINet odešle přihlašovací údaje dolů do WinHTTP. Pokaždé, když WinHttp získá ověřovací výzvu a v aktuálním popisovači nejsou nastavené žádné přihlašovací údaje, použije přihlašovací údaje poskytnuté službou WinINet.

WINHTTP_OPTION_USE_SESSION_SCH_CRED

Umožňuje nastavit, aby se pro všechny koncové body v relaci ve výchozím nastavení používaly jediné přihlašovací údaje místo výchozích přihlašovacích údajů pro jednotlivé koncové body. To může zvýšit výkon snížením režijních nákladů na správu přihlašovacích údajů. Všimněte si, že toto výchozí přihlašovací údaje nebudou mít žádný vliv, pokud je explicitně zadaný klientský certifikát.

WINHTTP_OPTION_USER_AGENT

Nastaví nebo načte řetězec uživatelského agenta na popisovačích zadaných WinHttpOpen a používá se v dalších funkcích WinHttpSendRequest , pokud se nepřepíše hlavičkou přidanou winHttpAddRequestHeaders nebo WinHttpSendRequestRequest. Při načítání uživatelského agenta by aplikace měla předat vyrovnávací paměť s velikostí v bajtech, která je dostatečně velká pro uložení vrácené adresy URL v širokém znaku. Při nastavování uživatelského agenta je velikost vyrovnávací paměti délkou řetězce ve značce a ukončovacím znakem NULL .

WINHTTP_OPTION_USERNAME

Nastaví nebo načte řetězec, který obsahuje uživatelské jméno.

WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT

Nastaví čas v milisekundách, po které by měl WinHttpWebSocketClose počkat na dokončení zavření metody handshake. Výchozí hodnota je 10 sekund.

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL

Nastaví interval v milisekundách tak, aby přes připojení odesílal paket s udržováním dostupnosti. Výchozí interval je 30000 (30 sekund). Minimální interval je 15000 (15 sekund). Použití WinHttpSetOption k nastavení hodnoty nižší než 15000 se vrátí s ERROR_INVALID_PARAMETER.

Poznámka:

Výchozí hodnota pro WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL se čte z HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval. Pokud hodnota není nastavená, použije se výchozí hodnota 30000. Není možné mít nižší keepalive interval než 15000 milisekund.

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

Nastaví nebo načte DWORD, který určuje velikost vyrovnávací paměti pro příjem, která se má použít u připojení WebSocket.

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

Nastaví nebo načte DWORD, který určuje velikost vyrovnávací paměti pro odesílání, která se má použít u připojení WebSocket.

WINHTTP_OPTION_WORKER_THREAD_COUNT

Nastaví celočíselnou hodnotu bez znaménka, která určuje počet pracovních vláken, které by fond vláken měl použít pro asynchronní dokončování. Výchozí hodnota této možnosti je nula, která určuje, že počet pracovních vláken se rovná počtu procesorů v systému. Tuto možnost lze nastavit pouze u popisovače NULLHINTERNET před asynchronní operací. Tuto možnost lze nastavit pouze jednou.

Platí pro: Windows 7 a novější; Windows Server 2008 R2 a novější.

WINHTTP_OPTION_WRITE_BUFFER_SIZE

Tato možnost je zastaralá; nemá žádný účinek.

Poznámky

Následující tabulka uvádí příznaky možností zadáním popisovačů, se kterými se můžou pracovat, zda se dají dotazovat a nastavit, a datový typ použitý. Znak "X" označuje, že příznak možnosti je platný pro použití s funkcí nebo popisovačem, zatímco znak "-" určuje, že příznak možnosti je neplatný.

Při pokusu o nastavení nebo dotazování příznaku možnosti ve verzi Windows, která není podporovaná, bude výsledkem ERROR_WINHTTP_INVALID_OPTION.

Příznak možnosti a datový typ Popisovač relace Popisovač požadavku Možnost dotazu Nastavit možnost Minimální verze 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 verze 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 verze 1903
WINHTTP_OPTION_CONNECTION_STATS_V1
TCP_INFO_v1
- X X - Windows 10 verze 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 verze 21H1
WINHTTP_OPTION_DISABLE_FEATURE
DWORD
- X - X -
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
BOOL
X - - X Windows 10 verze 1903
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
BOOL
X X - X Windows 10 verze 1809
WINHTTP_OPTION_ENABLE_FEATURE
DWORD
* * - X -
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
DWORD
X X - X Windows 10 verze 1607
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT
BOOL
X - - X Windows 10 verze 21H1
WINHTTP_OPTION_ENABLETRACING
DWORD
- - X X -
WINHTTP_OPTION_ENCODE_EXTRA
BOOL
X X - X Windows 10 verze 1803
WINHTTP_OPTION_EXPIRE_CONNECTION
není k dispozici
- X - X Windows 10 verze 1903
WINHTTP_OPTION_EXTENDED_ERROR
DWORD
X X X - -
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
BOOL
X - - X Windows 10 verze 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 verze 1903
WINHTTP_OPTION_HTTP_PROTOCOL_USED
DWORD
- X X - Windows 10 verze 1607
WINHTTP_OPTION_HTTP_VERSION
HTTP_VERSION_INFO
X X X X -
WINHTTP_OPTION_HTTP2_KEEPALIVE
DWORD
X - - X Windows 10 verze 21H1
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
BOOL
X X - X Windows 10 verze 21H1
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
BOOL
- X - X Windows 10 verze 2004
WINHTTP_OPTION_IPV6_FAST_FALLBACK
BOOL
X - - X Windows 10 verze 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 verze 1903
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_REQUEST_TIMES
- X X - Windows 10 verze 1903
WINHTTP_OPTION_REQUIRE_STREAM_END
BOOL
X X - X Windows 10 verze 21H1
WINHTTP_OPTION_RESOLUTION_HOSTNAME
LPWSTR
- X - X Windows 10 verze 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 verze 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 verze 2004
WINHTTP_OPTION_SERVER_CERT_CONTEXT
KONTEXT CERTIFIKÁTU
- 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 verze 21H1
WINHTTP_OPTION_TCP_FAST_OPEN
BOOL
X - - X Windows 10 verze 2004
WINHTTP_OPTION_TCP_KEEPALIVE
tcp_keepalive
X - - X Windows 10 verze 2004
WINHTTP_OPTION_TLS_FALSE_START
BOOL
X - - X Windows 10 verze 2004
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
BOOL
X - - X Windows 10 verze 21H1
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
HINTERNET
X - - X -
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
DWORD
- X - X -
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
není k dispozici
- 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 -

Poznámka:

Informace o systému Windows XP a Windows 2000 naleznete v tématu Run-Time Požadavky.

Požadavky

Požadavek Hodnota
Minimální podporovaný klient Windows XP, Windows 2000 Professional s aktualizací SP3 [pouze desktopové aplikace]
Minimální podporovaný server Windows Server 2003, Windows 2000 Server s aktualizací SP3 [pouze desktopové aplikace]
Redistribuovatelný WinHTTP 5.0 a Internet Explorer 5.01 nebo novější v systémech Windows XP a Windows 2000.
Záhlaví Winhttp.h

Viz také