Condividi tramite


Flag di opzione

I flag di opzione seguenti sono supportati da WinHttpQueryOption e WinHttpSetOption.

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

Il valore predefinito è FALSE. Se impostato su TRUE, WinHTTP non garantisce lo stato di avanzamento se i callback di stato sono bloccati dall'applicazione client.

L'applicazione client deve prestare particolare attenzione per eseguire operazioni minime all'interno del callback senza bloccare, restituendo il più rapidamente possibile e in particolare non deve attendere le successive chiamate WinHTTP. Se non segue queste linee guida, è probabile che si verifichi un impatto negativo sulle prestazioni o un potenziale blocco dell'applicazione. Se usato nel modo previsto, questa opzione può migliorare le prestazioni.

WINHTTP_OPTION_AUTOLOGON_POLICY

Imposta un valore intero long senza segno che specifica i criteri di accesso automatico con uno dei valori seguenti.

Termine Descrizione
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH Le credenziali predefinite non vengono usate. Si noti che questo flag diventa effettivo solo se si specifica il server in base al nome effettivo del computer. Non avrà effetto, se si specifica il server in base a "localhost" o all'indirizzo IP.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW Per tutte le richieste viene eseguito un accesso autenticato usando le credenziali predefinite.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM Un accesso autenticato tramite le credenziali predefinite viene eseguito solo per le richieste nella Intranet locale.

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

Quando si imposta questa opzione su un handle di sessione, è necessario passare il numero di connessioni che si desidera aprire. Quindi, al primo invio di una richiesta, anziché aprire solo una singola connessione, WinHttp apre una serie di connessioni in parallelo. Ciò può migliorare le prestazioni delle richieste successive alla stessa destinazione, che non avrà il sovraccarico di definizione della connessione.

WINHTTP_OPTION_CALLBACK

Recupera il puntatore al set di funzioni di callback con WinHttpSetStatusCallback.

WINHTTP_OPTION_CLIENT_CERT_CONTEXT

Imposta il contesto del certificato client. Se un'applicazione riceve ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, deve chiamare WinHttpSetOption per fornire un certificato prima di ritentare la richiesta. Nell'ambito dell'elaborazione di questa opzione, WinHttp chiama CertDuplicateCertificateContext nel contesto del certificato fornito dal chiamante in modo che il contesto del certificato possa essere rilasciato in modo indipendente dal chiamante.

Annotazioni

L'applicazione non deve tentare di chiudere l'archivio certificati con il flag CERT_CLOSE_STORE_FORCE_FLAG nella chiamata a CertCloseStore nell'archivio certificati da cui è stato recuperato il contesto del certificato. Può verificarsi una violazione di accesso.

Quando il server richiede un certificato client, WinHttpSendRequest o WinHttpReceiveResponse restituisce un errore ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED . Se il server richiede il certificato ma non lo richiede, l'applicazione può specificare questa opzione per indicare che non ha un certificato. Il server può scegliere un altro schema di autenticazione o consentire l'accesso anonimo al server. L'applicazione fornisce la macro WINHTTP_NO_CLIENT_CERT_CONTEXT nel parametro lpBuffer di WinHttpSetOption , come illustrato nell'esempio di codice seguente.

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

Se il server richiede un certificato client, può inviare un codice di stato HTTP 403 in risposta. Per altre informazioni, vedere l'opzione WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST .

WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST

Recupera una struttura SecPkgContext_IssuerListInfoEx quando l'errore da WinHttpSendRequest o WinHttpReceiveResponse è ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED. L'elenco di autorità di certificazione nella struttura contiene un elenco di autorità di certificazione (CA) accettabili dal server. L'applicazione client può filtrare l'elenco ca per recuperare il certificato client per l'autenticazione SSL.

In alternativa, se il server richiede il certificato client, ma non lo richiede, l'applicazione può chiamare WinHttpSetOption con l'opzione WINHTTP_OPTION_CLIENT_CERT_CONTEXT . Per altre informazioni, vedere l'opzione WINHTTP_OPTION_CLIENT_CERT_CONTEXT .

WINHTTP_OPTION_CODEPAGE

Imposta la tabella codici usata per elaborare l'URL, ovvero la stringa di query. Il valore predefinito è UTF8.

WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH

Imposta un valore long integer senza segno che specifica se l'autenticazione Passport nell'autenticazione WinHTTP è abilitata. Il valore può essere uno dei seguenti:

Termine Descrizione
WINHTTP_DISABLE_PASSPORT_AUTH L'autenticazione di Microsoft Passport è disabilitata. Si tratta dell'impostazione predefinita.
WINHTTP_DISABLE_PASSPORT_KEYRING Il keyring passport è disabilitato. Si tratta dell'impostazione predefinita.
WINHTTP_ENABLE_PASSPORT_AUTH L'autenticazione Passport è abilitata.
WINHTTP_ENABLE_PASSPORT_KEYRING Il keyring passport è abilitato.

WINHTTP_OPTION_CONNECT_RETRIES

Imposta o recupera un valore intero long senza segno che contiene il numero di tentativiwinHTTP di connettersi a un host. Microsoft Windows HTTP Services (WinHTTP) tenta una sola volta per ogni indirizzo IP (Internet Protocol). Ad esempio, se si tenta di connettersi a un host multihomed con 10 indirizzi IP e WINHTTP_OPTION_CONNECT_RETRIES è impostato su 7, WinHTTP tenta solo di connettersi al primo sette indirizzo IP. Dato lo stesso set di 10 indirizzi IP, se WINHTTP_OPTION_CONNECT_RETRIES è impostato su 20, WinHTTP tenta ogni 10 una sola volta. Se un tentativo di connessione ha ancora esito negativo dopo il numero specificato di tentativi o se il timeout di connessione è scaduto prima, la richiesta viene annullata. Il valore predefinito per WINHTTP_OPTION_CONNECT_RETRIES è cinque tentativi.

WINHTTP_OPTION_CONNECT_TIMEOUT

Imposta o recupera un valore intero long senza segno che contiene il valore di timeout, espresso in millisecondi. L'impostazione di questa opzione su infinite (0xFFFFFFFF) disabilita questo timer.

Se una richiesta di connessione TCP richiede più tempo di questo valore di timeout, la richiesta viene annullata. Il timeout predefinito è 60 secondi. Quando si tenta di connettersi a più indirizzi IP per un singolo host (un host multihomed), il limite di timeout è per ogni singola connessione.

WINHTTP_OPTION_CONNECTION_INFO

Recupera l'indirizzo IP di origine e di destinazione e la porta della richiesta che ha generato la risposta quando Restituisce WinHttpReceiveResponse . L'applicazione chiama WinHttpQueryOption con l'opzione WINHTTP_OPTION_CONNECTION_INFO e fornisce la struttura WINHTTP_CONNECTION_INFO nel parametro lpBuffer . Per altre informazioni, vedere WINHTTP_CONNECTION_INFO.

Si applica a: Windows XP con SP2 e versioni successive; Windows 2003 con SP1 e versioni successive.

WINHTTP_OPTION_CONNECTION_GUID

Contrassegnare la connessione associata all'handle di richiesta WinHTTP con un GUID. In questo modo è possibile controllare in modo personalizzato le richieste che usano i gruppi di connessioni con l'opzione WINHTTP_OPTION_MATCH_CONNECTION_GUID .

WINHTTP_OPTION_CONNECTION_STATS_V0

Recupera lo struct TCP_INFO_v0 per la connessione sottostante usata dalla richiesta. Lo struct restituito può contenere statistiche dalle richieste precedenti inviate tramite la stessa connessione.

Annotazioni

Questa opzione è stata sostituita da WINHTTP_OPTION_CONNECTION_STATS_V1.

WINHTTP_OPTION_CONNECTION_STATS_V1

Ripristina lo struct TCP_INFO_v1 per la connessione sottostante usata dalla richiesta. Lo struct restituito può contenere statistiche dalle richieste precedenti inviate tramite la stessa connessione.

WINHTTP_OPTION_CONTEXT_VALUE

Imposta o recupera un DWORD_PTR che contiene un puntatore al valore di contesto associato all'handle DELL'OGGETTO. Viene usato il valore archiviato nel buffer e al flag di opzione WINHTTP_OPTION_CONTEXT_VALUE viene assegnato un nuovo valore.

WINHTTP_OPTION_DECOMPRESSION

Imposta un DWORD di flag che determinano se WinHTTP decomprime automaticamente i corpi di risposta con codifiche di contenuto compressi. WinHTTP imposta anche un'intestazione Accept-Encoding appropriata, eseguendo l'override di qualsiasi elemento fornito dal chiamante. I valori supportati sono:

Termine Descrizione
WINHTTP_DECOMPRESSION_FLAG_GZIP Decomprimere Content-Encoding: risposte gzip.
WINHTTP_DECOMPRESSION_FLAG_DEFLATE Decomprimere Content-Encoding: deflate risposte.
WINHTTP_DECOMPRESSION_FLAG_ALL Decomprimere le risposte con qualsiasi codifica del contenuto supportata.

Per impostazione predefinita, WinHTTP fornirà risposte compresse al chiamante non modificato.

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

L'impostazione di questa opzione in un handle di sessione WinHttp consente di abilitare/disabilitare se la catena di certificati del server è compilata.

WINHTTP_OPTION_DISABLE_FEATURE

Imposta un valore intero long senza segno che specifica le funzionalità disabilitate con uno o più dei flag seguenti. Tenere presente che questa funzionalità deve essere passata solo a WinHttpSetOption negli handle di richiesta dopo la creazione dell'handle di richiesta con WinHttpOpenRequest e prima dell'invio della richiesta con WinHttpSendRequest.

Termine Descrizione
WINHTTP_DISABLE_AUTHENTICATION L'autenticazione automatica è disabilitata.
WINHTTP_DISABLE_COOKIES L'aggiunta automatica di intestazioni di cookie alle richieste è disabilitata. Inoltre, i cookie restituiti non vengono aggiunti automaticamente al database dei cookie. La disabilitazione dei cookie può comportare prestazioni scarse per l'autenticazione passport.
WINHTTP_DISABLE_KEEP_ALIVE Disabilita la semantica keep-alive per la connessione. La semantica keep-alive è necessaria per MSN, NTLM e altri tipi di autenticazione.
WINHTTP_DISABLE_REDIRECTS Il reindirizzamento automatico è disabilitato quando si inviano richieste con WinHttpSendRequest. Se il reindirizzamento automatico è disabilitato, un'applicazione deve registrare una funzione di callback affinché l'autenticazione passport abbia esito positivo.

WINHTTP_OPTION_DISABLE_GLOBAL_POOLING

Disabilita il pool globale e tra sessioni. Questa procedura è consigliata perché il pool di sessioni tra sessioni globali è un comportamento legacy supportato per impostazione predefinita per motivi di compatibilità. Questa operazione è interessata dall'impostazione manuale del numero massimo di connessioni.

WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES

Disabilita una o più delle seguenti procedure di autenticazione proxy nella sessione WinHTTP fornendo tutte OR le opzioni applicabili. Si tratta di tutti gli schemi, ad eccezione di WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE, che forza l'uso dell'account del computer locale quando si inviano richieste a un loopback o a un indirizzo locale. Ciò impedisce la perdita di credenziali di sistema ai proxy HTTP locali.

Termine Descrizione
WINHTTP_PROXY_DISABLE_SCHEME_BASIC Disabilita lo schema di autenticazione di base.
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST Disabilita lo schema di autenticazione digest.
WINHTTP_PROXY_DISABLE_SCHEME_NTLM Disabilita lo schema di autenticazione NTLM.
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS Disabilita lo schema di autenticazione Kerberos.
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE Disabilita lo schema di autenticazione Negotiate.
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE Forza l'uso dell'account del computer locale quando si inviano richieste a un loopback o a un indirizzo locale.

WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK

Impedisce a WinHTTP di ritentare una connessione con una versione precedente del protocollo di sicurezza quando la negoziazione del protocollo iniziale ha esito negativo.

WINHTTP_OPTION_DISABLE_STREAM_QUEUE

Consente alle nuove richieste di aprire una connessione HTTP/2 aggiuntiva quando viene raggiunto il limite massimo di flussi simultanei, anziché attendere il successivo flusso disponibile in una connessione esistente.

WINHTTP_OPTION_ENABLE_FEATURE

Imposta un valore long integer senza segno che specifica le funzionalità attualmente abilitate. Può essere uno dei valori seguenti.

Termine Descrizione
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION Se abilitata, WinHTTP ripristina temporaneamente la rappresentazione client per la durata delle operazioni di autenticazione del certificato SSL. Questo valore può essere impostato solo sull'handle di sessione.
WINHTTP_ENABLE_SSL_REVOCATION Se abilitata, WinHTTP consente la revoca SSL. Questo valore può essere impostato solo sull'handle della richiesta.

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

Imposta una maschera di bit DWORD di versioni HTTP avanzate accettabili. I valori possibili sono:

Termine Descrizione
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) Abilita HTTP/2 per la richiesta.
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) Abilita HTTP/3 per la richiesta.
Nessuno (0x0) Limita la richiesta a HTTP/1.1 e versioni precedenti.

Le versioni legacy di HTTP (1.1 e precedenti) non possono essere disabilitate usando questa opzione. Il valore predefinito è 0x0.

WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT

Questa opzione può essere impostata su un handle di sessione WinHttp per consentire a WinHttp di usare il contesto del certificato client fornito dal chiamante quando viene usato HTTP/2.

WINHTTP_OPTION_ENABLETRACING

Imposta un valore BOOL che specifica se la traccia è attualmente abilitata. Questa opzione può essere impostata solo su un handleNULL HINTERNET . Vedi anche Raccogliere tracce WinHTTP.

WINHTTP_OPTION_ENCODE_EXTRA

Abilita la codifica della percentuale di URL per il percorso e la stringa di query.

In alternativa, è possibile codificare in percentuale prima di chiamare WinHttp.

WINHTTP_OPTION_EXPIRE_CONNECTION

Questa opzione può essere impostata solo su un handle di richiesta ancora attivo (invio o ricezione). L'impostazione di questa opzione indicherà a WinHttp di interrompere la gestione delle richieste sulla connessione associata all'handle di richiesta passato. La connessione verrà chiusa al termine dell'handle della richiesta con cui viene chiamata questa opzione. Questa opzione non accetta parametri.

WINHTTP_OPTION_EXTENDED_ERROR

Recupera un valore intero lungo senza segno che contiene un codice di errore di Microsoft Windows Sockets mappato ai messaggi di errore ERROR_WINHTTP_* restituiti per ultimo in questo contesto di thread. È possibile passare NULL come valore di handle.

WINHTTP_OPTION_FEATURE_SUPPORTED

Verificare se un flag di opzione specificato è supportato da questa versione di WinHTTP.

WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION

Per impostazione predefinita, quando WinHttp invia una richiesta, se non sono disponibili connessioni per gestire la richiesta, WinHttp tenterà di stabilire una nuova connessione e la richiesta verrà associata a questa nuova connessione. Quando si imposta questa opzione, tale richiesta verrà invece servita nella prima connessione che diventa disponibile e non necessariamente quella stabilita.

WINHTTP_OPTION_GLOBAL_PROXY_CREDS

Accetta un puntatore a una struttura WINHTTP_CREDS_EX con il parametro della funzione hInternet impostato su NULL. Questa opzione richiede la chiave del Registro di sistema HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Se questa chiave del Registro di sistema non è impostata su WinHTTP restituirà l'errore ERROR_WINHTTP_INVALID_OPTION. Questa chiave del Registro di sistema non è presente per impostazione predefinita. Quando è impostata, WinINet invierà le credenziali a WinHTTP. Ogni volta che WinHttp riceve una richiesta di autenticazione e se non sono presenti credenziali impostate nell'handle corrente, userà le credenziali fornite da WinINet. Per condividere le credenziali del server oltre alle credenziali proxy, gli utenti devono impostare WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_GLOBAL_SERVER_CREDS

Accetta un puntatore a una struttura WINHTTP_CREDS_EX con il parametro della funzione hInternet impostato su NULL. Questa opzione richiede la chiave del Registro di sistema HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Se questa chiave del Registro di sistema non è impostata su WinHTTP restituirà l'errore ERROR_WINHTTP_INVALID_OPTION. Questa chiave del Registro di sistema non è presente per impostazione predefinita. Quando è impostata, WinINet invierà le credenziali a WinHTTP. Ogni volta che WinHttp riceve una richiesta di autenticazione e se non sono presenti credenziali impostate nell'handle corrente, userà le credenziali fornite da WinINet. Per condividere le credenziali del server oltre alle credenziali proxy, gli utenti devono impostare WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_HANDLE_TYPE

Recupera un valore intero long senza segno che contiene il tipo di handle DELL'OGGETTO PASSATO . Il valore restituito può essere uno dei seguenti:

Termine Descrizione
WINHTTP_HANDLE_TYPE_CONNECT L'handle è un handle di connessione.
WINHTTP_HANDLE_TYPE_REQUEST L'handle è un handle di richiesta.
WINHTTP_HANDLE_TYPE_SESSION L'handle è un handle di sessione.

WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED

Impedisce l'uso di versioni del protocollo diverse da quelle abilitate da WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL per la richiesta.

WINHTTP_OPTION_HTTP_PROTOCOL_USED

Ottiene un valore DWORD che indica quale versione HTTP avanzata è stata usata in una determinata richiesta. Per un elenco dei valori possibili, vedere WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.

WINHTTP_OPTION_HTTP_VERSION

Imposta o recupera una struttura HTTP_VERSION_INFO che dichiara la versione HTTP legacy supportata. Si tratta di un'opzione a livello di processo; usare NULL per l'handle.

Annotazioni

Questa struttura è valida per HTTP/1.0 e HTTP/1.1. Per le versioni HTTP moderne, vedere WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL e WINHTTP_OPTION_HTTP_PROTOCOL_USED.

WINHTTP_OPTION_HTTP2_KEEPALIVE

Questa opzione può essere impostata su un handle di sessione per fare in modo che WinHttp usi fotogrammi PING HTTP/2 come meccanismo keepalive. I chiamanti specificano un timeout in millisecondi e dopo che non è presente alcuna attività in una connessione per quel periodo di timeout, WinHttp inizierà a inviare frame PING HTTP/2. I chiamanti non possono impostare un valore di timeout inferiore a 5000 millisecondi.

WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING

Questa opzione può essere impostata su un handle di richiesta WinHttp per controllare il comportamento di WinHttp quando una risposta HTTP/2 contiene un'intestazione "Transfer-Encoding". In questo caso, WinHttp restituirà un errore se questa opzione è impostata su FALSE.

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

Impostare le dimensioni iniziali della finestra di ricezione del flusso HTTP/2 e la soglia per l'invio degli aggiornamenti delle finestre usando lo struct WINHTTP_HTTP2_RECEIVE_WINDOW .

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

Usa il buffer per impostare il timeout dell'handshake HTTP/3 in millisecondi come PDWORD.

WINHTTP_OPTION_HTTP3_INITIAL_RTT

Configura il RTT iniziale in millisecondi usato da msquic.

WINHTTP_OPTION_HTTP3_KEEPALIVE

Abilita la semantica keep-alive per la connessione. Usa il buffer per impostare il timeout keep-alive in millisecondi come PDWORD.

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

Recupera l'errore fornito dal server nel flusso HTTP/3 usato per inviare la richiesta.

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

Consente alle connessioni sicure di usare i certificati di sicurezza per i quali non è stato possibile scaricare l'elenco di revoche di certificati.

WINHTTP_OPTION_IPV6_FAST_FALLBACK

Abilita il fallback rapido IPv6 (eyeball più felici) per la connessione. Questo comportamento è simile al comportamento Happy Eyeballs descritto in RFC 6555 per migliorare i tempi di connessione nelle reti in cui IPv6 non è affidabile.

  • Se entrambi gli indirizzi IPv6 e IPv4 vengono risolti per un determinato host, WinHttp inizierà connettendosi al primo indirizzo IPv6 risolto con un timeout breve (300 ms).
  • Se la connessione non riesce, WinHttp tenterà di connettersi al primo indirizzo IPv4 risolto con il timeout standard.
  • Se la seconda connessione non riesce, WinHttp ritenta il primo indirizzo IPv6 risolto con il timeout standard.
  • Se la terza connessione non riesce, WinHttp ripristina il comportamento predefinito per tutti gli indirizzi rimanenti, provando una connessione a ognuno con il timeout standard fino a quando non viene stabilita una connessione o non rimangono indirizzi.

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

Ottiene un valore che indica se è possibile recuperare o meno una risposta di connessione restituita dal proxy.

WINHTTP_OPTION_MATCH_CONNECTION_GUID

Accetta uno struct WINHTTP_MATCH_CONNECTION_GUID per indicare a WinHTTP di gestire la richiesta in una connessione corrispondente. Se WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED è impostato, è possibile usare solo le connessioni con un GUID corrispondente. In caso contrario, è possibile usare connessioni con GUID e connessioni corrispondenti che non sono contrassegnate con alcun GUID.

WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER

Imposta o recupera un valore intero long senza segno contenente il numero massimo di connessioni consentite per ogni server HTTP/1.0. Il valore predefinito è INFINITE.

Si applica a: Windows Vista con SP1 e versioni successive; Windows Server 2008 e versioni successive.

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

Imposta o recupera un valore intero long senza segno che contiene il numero massimo di connessioni consentite per ogni server. Il valore predefinito è INFINITE.

Quando questa opzione è impostata su zero, WinHTTP imposta il limite sul numero di connessioni su 2.

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

Imposta il numero massimo di reindirizzamenti che WinHTTP segue; il valore predefinito è 10. Questo limite impedisce ai siti non autorizzati di sospendere il client WinHTTP dopo un numero elevato di reindirizzamenti.

Si applica a: Windows XP con SP1 e versioni successive; Windows 2000 con SP3 e versioni successive.

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

Numero massimo di risposte al codice di stato informational 100-199 ignorate prima di restituire il codice di stato finale al client WinHTTP. I codici di stato 100-199 informativi possono essere inviati dal server prima del codice di stato finale e sono descritti nella specifica per HTTP/1.1 (per altre informazioni, vedere RFC 2616). L'impostazione predefinita è 10.

Si applica a: Windows XP con SP1 e versioni successive; Windows 2000 con SP3 e versioni successive.

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

Oggetto associato alla quantità di dati scaricati dalle risposte per riutilizzare una connessione, specificata in byte. Il valore predefinito è 1 MB.

Si applica a: Windows XP con SP1 e versioni successive; Windows 2000 con SP3 e versioni successive.

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

Set associato per la dimensione massima della parte di intestazione della risposta del server, specificata in byte. Questo limite protegge il client da un server non autorizzato che tenta di fermare il client inviando una risposta con una quantità infinita di dati di intestazione. Il valore predefinito è 64 KB.

Si applica a: Windows XP con SP1 e versioni successive; Windows 2000 con SP3 e versioni successive.

WINHTTP_OPTION_PARENT_HANDLE

Recupera l'handle padre in questo handle.

WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT

Recupera una stringa che contiene il testo di cobranding fornito dal server di accesso Passport. Questa opzione deve essere recuperata immediatamente dopo che il server di accesso risponde con un codice di stato 401. Un'applicazione deve passare una dimensione del buffer, in byte, sufficientemente grande da contenere la stringa restituita.

WINHTTP_OPTION_PASSPORT_COBRANDING_URL

Recupera una stringa che contiene un URL per un elemento grafico di cobranding fornito dal server di accesso Passport. Questa opzione deve essere recuperata immediatamente dopo che il server di accesso risponde con un codice di stato 401. Un'applicazione deve passare una dimensione del buffer, in byte, sufficientemente grande da contenere la stringa restituita.

WINHTTP_OPTION_PASSPORT_RETURN_URL

Imposta un'opzione di sola lettura su un handle di richiesta che recupera l'URL restituito di Passport.

WINHTTP_OPTION_PASSPORT_SIGN_OUT

Imposta l'opzione su un handle di sessione per disconnettersi da qualsiasi account di accesso passport. Un'applicazione deve passare l'URL restituito passport recuperato con WINHTTP_OPTION_PASSPORT_RETURN_URL. Tutti i cookie correlati all'URL restituito vengono cancellati.

WINHTTP_OPTION_PASSWORD

Imposta o recupera un valore stringa contenente la password associata a un handle di richiesta.

WINHTTP_OPTION_PROXY

Imposta o recupera una struttura WINHTTP_PROXY_INFO che contiene i dati proxy in un handle di sessione o un handle di richiesta esistente. Quando si recuperano dati proxy, un'applicazione deve liberare le stringhe lpszProxy e lpszProxyBypass contenute in questa struttura (se non sono NULL) usando la funzione GlobalFree . Un'applicazione può eseguire una query per i dati proxy globali (proxy predefinito) passando un handle NULL .

WINHTTP_OPTION_PROXY_PASSWORD

Imposta o recupera un valore stringa contenente la password utilizzata per accedere al proxy.

WINHTTP_OPTION_PROXY_SPN_USED

Ottiene il nome dell'entità server proxy fornito da WinHTTP a SSPI durante l'autenticazione. Questo valore stringa viene usato per passare a SspiPromptForCredentials dopo un errore di autenticazione.

WINHTTP_OPTION_PROXY_USERNAME

Imposta o recupera un valore stringa contenente il nome utente utilizzato per accedere al proxy.

WINHTTP_OPTION_QUIC_STATS

Recupera una struttura QUIC_STATISTICS che contiene informazioni di connessione, ad esempio RTT e byte inviati e ricevuti.

WINHTTP_OPTION_READ_BUFFER_SIZE

Questa opzione è deprecata; non ha alcun effetto.

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

Imposta un valore che indica se è possibile recuperare o meno l'entità di risposta proxy. Questa opzione è disabilitata per impostazione predefinita.

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

Imposta o recupera un valore intero long senza segno che contiene il valore di timeout, espresso in millisecondi, per attendere di ricevere tutte le intestazioni di risposta a una richiesta. Se WinHTTP non riceve tutte le intestazioni entro questo periodo di timeout, la richiesta viene annullata. Il valore di timeout predefinito è 90 secondi.

Questo timeout viene controllato solo quando i dati vengono ricevuti dal socket. Di conseguenza, quando il timeout scade, l'applicazione client non riceve una notifica finché non arrivano più dati dal server. Se non arrivano dati dal server, il ritardo tra la scadenza del timeout e la notifica dell'applicazione client potrebbe essere elevato quanto il valore di timeout impostato usando il parametro dwReceiveTimeout della funzione WinHttpSetTimeouts .

WINHTTP_OPTION_RECEIVE_TIMEOUT

Imposta o recupera un valore intero long senza segno che contiene il valore di timeout, in millisecondi, per ricevere una risposta parziale a una richiesta o leggere alcuni dati. Se la risposta richiede più tempo di questo valore di timeout, la richiesta viene annullata. Il valore di timeout predefinito è di 30 secondi.

WINHTTP_OPTION_REDIRECT_POLICY

Imposta il comportamento di WinHTTP per quanto riguarda la gestione di un codice di stato di reindirizzamento HTTP 30x. Questa opzione può essere impostata su una sessione o su un handle di richiesta su uno dei valori seguenti:

Termine Descrizione
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS Tutti i reindirizzamenti vengono seguiti automaticamente.
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP Vengono seguiti tutti i reindirizzamenti, ad eccezione di quelli che hanno origine da un URL sicuro (https) a un URL non sicuro (http). Questa è l'impostazione predefinita.
WINHTTP_OPTION_REDIRECT_POLICY_NEVER I reindirizzamenti non vengono mai seguiti. Lo stato 30x viene restituito all'applicazione.

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

Rifiuta gli URL che contengono un nome utente e una password. Questa opzione rifiuta anche gli URL che contengono semantica username:password , anche se non viene specificato alcun nome utente o password. Ad esempio, "u:p@hostname", ":", "u:@hostname@hostname" e ":p@hostname" verranno contrassegnati come non validi. Se alla funzione viene passato un URL non valido, restituisce ERROR_WINHTTP_INVALID_URL. Questa opzione è disattivata per impostazione predefinita.

WINHTTP_OPTION_REQUEST_ANNOTATION

Abilita il recupero e l'impostazione di un'annotazione della richiesta per il nome dell'annotazione specificato. Ciò consente al chiamante di allegare una stringa alla richiesta per il recupero successivo per identificare le richieste in base alla logica personalizzata che il chiamante trova utile.

WINHTTP_OPTION_REQUEST_PRIORITY

Questa opzione è deprecata; non ha alcun effetto.

WINHTTP_OPTION_REQUEST_STATS

Retreives statistiche per la richiesta. Per un elenco delle statistiche disponibili, vedere WINHTTP_REQUEST_STATS.

WINHTTP_OPTION_REQUEST_TIMES

Retreives le informazioni sulla tempistica per la richiesta. Per un elenco dei tempi disponibili, vedere WINHTTP_REQUEST_TIMES.

WINHTTP_OPTION_REQUIRE_STREAM_END

Questa opzione indica a WinHttp di ignorare le intestazioni di risposta "Content-Length" e continuare a ricevere su un flusso finché non viene ricevuto il flag END_STREAM.

WINHTTP_OPTION_RESOLUTION_HOSTNAME

Questa opzione può essere impostata su un handle di richiesta WinHttp prima dell'invio. Se impostato, WinHttp userà la stringa fornita dal chiamante come nome host per la risoluzione DNS.

WINHTTP_OPTION_RESOLVE_TIMEOUT

Imposta o recupera un valore intero long senza segno che contiene il valore di timeout, espresso in millisecondi, per risolvere un nome host. Il valore di timeout predefinito è INFINITE. Se viene specificato un valore non predefinito, è previsto un sovraccarico di una creazione di thread per ogni risoluzione dei nomi.

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

Ripristina la rappresentazione di qualsiasi thread durante la compilazione della catena di certificati del server, forzando invece l'uso del token di processo.

WINHTTP_OPTION_SECURE_PROTOCOLS

Imposta un valore long integer senza segno che specifica quali protocolli Secure (HTTPS) sono accettabili. Il valore predefinito per questa impostazione varia in base alla versione del sistema operativo e può essere interessato dagli aggiornamenti installati.

  • Windows 11. Per impostazione predefinita, sono abilitati solo TLS1.2 e TLS1.3.
  • Windows 10 e Windows 8.1. Per impostazione predefinita, sono abilitati solo SSL3, TLS1.0, TLS1.1 e TLS1.2.
  • Windows 8 e Windows 7. Per impostazione predefinita, sono abilitati solo SSL3 e TLS1.

Il valore può essere una combinazione di uno o più dei valori seguenti.

Termine Descrizione
WINHTTP_FLAG_SECURE_PROTOCOL_ALL È possibile usare i protocolli SSL (Secure Sockets Layer) 2.0, SSL 3.0 e Transport Layer Security (TLS) 1.0.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 È possibile usare il protocollo SSL 2.0.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 È possibile usare il protocollo SSL 3.0.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 È possibile usare il protocollo TLS 1.0.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 È possibile usare il protocollo TLS 1.1.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 È possibile usare il protocollo TLS 1.2.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 È possibile usare il protocollo TLS 1.3.

Se è necessario abilitare il supporto per i protocolli più recenti, ma non è possibile ricompilare l'applicazione per usare i valori appropriati di WINHTTP_OPTION_SECURE_PROTOCOLS, è possibile aggiungere invece la voce del DefaultSecureProtocols Registro di sistema. Tale voce del Registro di sistema consente di specificare quali protocolli sicuri devono essere usati quando l'opzione WINHTTP_OPTION_SECURE_PROTOCOLS non è impostata.

Importante

Le istruzioni seguenti comportano la modifica del Registro di sistema. Tuttavia, potrebbero verificarsi gravi problemi se si modifica il registro in modo errato. Assicurarsi quindi di seguire attentamente queste istruzioni. Per una maggiore protezione, esegui un backup del registro prima di modificarlo. Quindi, è possibile ripristinare il registro se si verifica un problema. Per altre informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedere Come eseguire il backup e il ripristino del Registro di sistema in Windows.

Se un'applicazione non chiama WinHttpSetOption(WINHTTP_OPTION_SECURE_PROTOCOLS), il sistema verifica la DefaultSecureProtocols voce del Registro di sistema e, se presente, esegue l'override delle impostazioni predefinite del sistema operativo esistenti con i protocolli specificati nella voce del DefaultSecureProtocols Registro di sistema. I protocolli specificati da WinHTTP possono essere sovrascritte dalle impostazioni di configurazione di Secure Channel (Schannel) che possono disabilitare i protocolli.

È possibile aggiungere la DefaultSecureProtocols voce del Registro di sistema nel percorso seguente:

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

Nei computer basati su x64 è necessario aggiungere DefaultSecureProtocols anche al Wow6432Node percorso:

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

Il valore del Registro di sistema è una bitmap DWORD. Il valore da usare è determinato aggiungendo i valori corrispondenti ai protocolli desiderati.

Valore DefaultSecureProtocols Protocollo abilitato
0x00000008 Consente di abilitare SSL 2.0 per impostazione predefinita
0x00000020 Consente di abilitare SSL 3.0 per impostazione predefinita
0x00000080 Consente di abilitare TLS 1.0 per impostazione predefinita
0x00000200 Consente di abilitare TLS 1.1 per impostazione predefinita
0x00000800 Consente di abilitare TLS 1.2 per impostazione predefinita
0x00002000 Abilitare TLS 1.3 per impostazione predefinita

Ad esempio, se si desidera eseguire l'override dei valori predefiniti per WINHTTP_OPTION_SECURE_PROTOCOLS per specificare TLS 1.1 e TLS 1.2. In tal caso, prendere il valore per TLS 1.1 (0x00000200) e il valore per TLS 1.2 (0x00000800), aggiungerli insieme nel calcolatore (in modalità programmatore) e il valore del Registro di sistema risultante sarà 0x00000A00.

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

Recupera il certificato per un server SSL/TLS nella struttura WINHTTP_CERTIFICATE_INFO . L'applicazione deve liberare i membri lpszSubjectInfo e lpszIssuerInfo con LocalFree.

WINHTTP_OPTION_SECURITY_FLAGS

Imposta o recupera un valore intero long senza segno che contiene i flag di sicurezza per un handle. Può essere una combinazione di questi valori:

Termine Descrizione
SECURITY_FLAG_IGNORE_CERT_CN_INVALID Consente un nome comune non valido in un certificato; ovvero il nome del server specificato dall'applicazione non corrisponde al nome comune nel certificato. Se questo flag è impostato, l'applicazione non riceve un callback WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID .
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID Consente una data del certificato non valida, ovvero un certificato scaduto o non ancora valido. Se questo flag è impostato, l'applicazione non riceve un callback WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID .
SECURITY_FLAG_IGNORE_UNKNOWN_CA Consente un'autorità di certificazione non valida. Se questo flag è impostato, l'applicazione non riceve un callback WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA .
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE Consente di stabilire l'identità di un server con un certificato non server, ad esempio un certificato client.
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE Consente di ignorare una firma debole.
Questo flag è disponibile nell'aggiornamento cumulativo per ogni sistema operativo a partire da Windows 7 e Windows Server 2008 R2.
SECURITY_FLAG_SECURE Usa trasferimenti sicuri. Viene restituito solo in una chiamata a WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_MEDIUM Usa la crittografia media (56 bit). Viene restituito solo in una chiamata a WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_STRONG Usa la crittografia avanzata (a 128 bit). Viene restituito solo in una chiamata a WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_WEAK Usa la crittografia debole (a 40 bit). Viene restituito solo in una chiamata a WinHttpQueryOption.

WINHTTP_OPTION_SECURITY_INFO

Recupera le informazioni di crittografia e connessione SChannel per una richiesta.

WINHTTP_OPTION_SECURITY_KEY_BITNESS

Recupera un valore intero lungo senza segno che contiene il livello di crittografia della chiave di crittografia. Un numero maggiore indica una crittografia più avanzata della crittografia.

WINHTTP_OPTION_SEND_TIMEOUT

Imposta o recupera un valore intero long senza segno che contiene il valore di timeout, in millisecondi, per inviare una richiesta o scrivere alcuni dati. Se l'invio della richiesta richiede più tempo del timeout, l'operazione di invio viene annullata. Il timeout predefinito è di 30 secondi.

WINHTTP_OPTION_SERVER_CBT

Ottiene un puntatore alla struttura SecPkgContext_Bindings che specifica un token di associazione del canale (CBT).

Un token di associazione canale è una proprietà di un canale di trasporto sicuro e viene usato per associare un canale di autenticazione al canale di trasporto sicuro. Questo token può essere ottenuto solo da questa opzione dopo che è stata stabilita una connessione SSL.

Annotazioni

Passando questa opzione e un valore Null per lpBuffer a WinHttpQueryOption restituirà ERROR_INSUFFICIENT_BUFFER e le dimensioni di byte necessarie per il buffer nel parametro lpdwBufferLength . Questo valore delle dimensioni del buffer restituito può essere passato in una chiamata successiva per eseguire una query per il token di associazione del canale. Questi passaggi sono necessari quando si gestisce WINHTTP_CALLBACK_STATUS_REQUEST se si desidera modificare le intestazioni della richiesta in base al token di associazione del canale. Si noti che Windows XP e Vista non supportano la modifica delle intestazioni delle richieste durante questo callback.

WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT

Recupera il contesto della catena di certificazione del server. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT possibile passare per ottenere un puntatore duplicato al CERT_CHAIN_CONTEXT per una catena di certificati server ricevuta durante una connessione SSL negoziata. Il client deve chiamare CertFreeCertificateContext sul puntatore PCCERT_CONTEXT restituito compilato nel buffer.

WINHTTP_OPTION_SERVER_CERT_CONTEXT

Recupera il contesto di certificazione del server. WINHTTP_OPTION_SERVER_CERT_CONTEXT può essere passato per ottenere un puntatore duplicato al contesto CERT per un certificato server ricevuto durante una connessione SSL negoziata. Il client deve chiamare CertFreeCertificateContext sul puntatore PCCERT_CONTEXT restituito compilato nel buffer.

WINHTTP_OPTION_SERVER_SPN_USED

Ottiene il nome dell'entità server del server fornito da WinHTTP a SSPI durante l'autenticazione. Questo valore stringa può essere passato a SspiPromptForCredentials dopo un errore di autenticazione.

WINHTTP_OPTION_SPN

Include o rimuove il numero di porta del server quando il nome dell'entità servizio viene compilato per l'autenticazione Kerberos o Negotiate Kerberos. Questo flag è uno dei valori seguenti:

Termine Descrizione
WINHTTP_DISABLE_SPN_SERVER_PORT Rimuove il numero di porta del server.
WINHTTP_ENABLE_SPN_SERVER_PORT Include il numero di porta del server.

WINHTTP_OPTION_STREAM_ERROR_CODE

Questa opzione può essere eseguita su un handle di richiesta WinHttp e restituirà il codice di errore indicato da un frame di RST_STREAM ricevuto in un flusso HTTP.

WINHTTP_OPTION_TCP_FAST_OPEN

Abilita TCP Fast Open per la connessione.

WINHTTP_OPTION_TCP_KEEPALIVE

Questa opzione può essere impostata su un handle di sessione WinHttp per abilitare il comportamento keep-alive TCP nel socket sottostante. Accetta uno struct tcp_keepalive .

WINHTTP_OPTION_TLS_FALSE_START

Abilita TLS False Start per la connessione.

WINHTTP_OPTION_TCP_PRIORITY_STATUS

Eseguire una query sulla priorità con hint del socket TCP impostato con WINHTTP_OPTION_TCP_PRIORITY_HINT. Per altri dettagli, vedere la documentazione per SIO_SET_PRIORITY_HINT .

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

Questa opzione può essere impostata su un handle di sessione WinHttp per controllare se il fallback a TLS 1.0 è consentito se si verifica un errore di handshake TLS con una versione più recente del protocollo.

WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT

Accetta un evento che verrà impostato quando l'ultimo callback è stato completato per una determinata sessione. Questo flag deve essere utilizzato in un handle di sessione. L'evento non può essere chiuso fino a quando non è stato impostato da WinHTTP.

WINHTTP_OPTION_UNSAFE_HEADER_PARSING

Questa opzione è riservata all'uso interno e non deve essere chiamata.

WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET

Indica allo stack di avviare un processo di handshake WebSocket con WinHttpSendRequest. Questa opzione non accetta parametri.

WINHTTP_OPTION_URL

Recupera un valore stringa contenente l'URL completo di una risorsa scaricata. Se l'URL originale contiene dati aggiuntivi, ad esempio stringhe di ricerca o ancoraggi o se la chiamata è stata reindirizzata, l'URL restituito è diverso dall'originale. L'applicazione deve passare un buffer, ridimensionato in byte, sufficientemente grande da contenere l'URL restituito in caratteri wide.

WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS

Accetta un valore BOOL e può essere impostato solo un handle di sessione. La propagazione verrà propagata solo agli handle creati dall'handle di sessione dopo l'impostazione dell'opzione. Se TRUE, questa opzione comporta come ultima risorsa l'uso delle credenziali globali del server di cui è stato eseguito il push da WinInet. Il valore predefinito per questa opzione è FALSE. Questa opzione richiede la chiave del Registro di sistema HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Questa chiave del Registro di sistema non è presente per impostazione predefinita. Quando è impostata, WinINet invierà le credenziali a WinHTTP. Ogni volta che WinHttp riceve una richiesta di autenticazione e se non sono presenti credenziali impostate nell'handle corrente, userà le credenziali fornite da WinINet.

WINHTTP_OPTION_USE_SESSION_SCH_CRED

Consente di impostare una singola credenziale da usare per impostazione predefinita per tutti gli endpoint all'interno della sessione anziché avere credenziali predefinite per endpoint. Ciò potrebbe migliorare le prestazioni riducendo il sovraccarico di gestione delle credenziali. Si noti che questa credenziale predefinita non avrà alcun effetto quando viene fornito in modo esplicito un certificato client.

WINHTTP_OPTION_USER_AGENT

Imposta o recupera la stringa dell'agente utente negli handle forniti da WinHttpOpen e usati nelle funzioni WinHttpSendRequest successive, purché non venga sottoposto a override da un'intestazione aggiunta da WinHttpAddRequestHeaders o WinHttpSendRequest. Quando si recupera un agente utente, l'applicazione deve passare un buffer, ridimensionato in byte, che è sufficientemente grande da contenere l'URL restituito in caratteri wide. Quando si imposta l'agente utente, la dimensione del buffer è la lunghezza della stringa, in caratteri, più il carattere di terminazione NULL .

WINHTTP_OPTION_USERNAME

Imposta o recupera una stringa contenente il nome utente.

WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT

Imposta il tempo, espresso in millisecondi, in cui WinHttpWebSocketClose deve attendere il completamento dell'handshake di chiusura. Il valore predefinito è 10 secondi.

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL

Imposta l'intervallo, espresso in millisecondi, per inviare un pacchetto keep-alive sulla connessione. L'intervallo predefinito è 30000 (30 secondi). L'intervallo minimo è 15000 (15 secondi). L'uso di WinHttpSetOption per impostare un valore inferiore a 15000 restituirà con ERROR_INVALID_PARAMETER.

Annotazioni

Il valore predefinito per WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL viene letto da HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval. Se un valore non è impostato, verrà usato il valore predefinito 30000. Non è possibile avere un intervallo keepalive inferiore a 15000 millisecondi.

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

Imposta o recupera un valore DWORD che specifica le dimensioni del buffer di ricezione da utilizzare nelle connessioni WebSocket.

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

Imposta o recupera un valore DWORD che specifica le dimensioni del buffer di invio da utilizzare nelle connessioni WebSocket.

WINHTTP_OPTION_WORKER_THREAD_COUNT

Imposta un valore long integer senza segno che specifica il numero di thread di lavoro che il pool di thread deve usare per i completamenti asincroni. Il valore predefinito di questa opzione è zero, che specifica che il numero di thread di lavoro è uguale al numero di CPU nel sistema. Questa opzione può essere impostata solo su un handleNULL INTEGERNET prima che si sia verificata un'operazione asincrona. Questa opzione può essere impostata una sola volta.

Si applica a: Windows 7 e versioni successive; Windows Server 2008 R2 e versioni successive.

WINHTTP_OPTION_WRITE_BUFFER_SIZE

Questa opzione è deprecata; non ha alcun effetto.

Osservazioni:

Nella tabella seguente sono elencati i flag di opzione specificando quali handle possono agire, se è possibile eseguire query e impostare e il tipo di dati usato. Una "X" indica che il flag di opzione è valido per l'uso con la funzione o l'handle, mentre "-" specifica che il flag di opzione non è valido.

Il tentativo di impostare o eseguire query su un flag di opzione in una versione di Windows in cui non è supportato genererà ERROR_WINHTTP_INVALID_OPTION.

Flag di opzione e tipo di dati Handle di sessione Handle della richiesta Opzione query Opzione set Versione minima di 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 versione 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 versione 1903
WINHTTP_OPTION_CONNECTION_STATS_V1
TCP_INFO_v1
- X X - Windows 10 versione 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 versione 21H1
WINHTTP_OPTION_DISABLE_FEATURE
DWORD
- X - X -
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
BOOL
X - - X Windows 10 versione 1903
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
BOOL
X X - X Windows 10 versione 1809
WINHTTP_OPTION_ENABLE_FEATURE
DWORD
* * - X -
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
DWORD
X X - X Windows 10 versione 1607
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT
BOOL
X - - X Windows 10 versione 21H1
WINHTTP_OPTION_ENABLETRACING
DWORD
- - X X -
WINHTTP_OPTION_ENCODE_EXTRA
BOOL
X X - X Windows 10 versione 1803
WINHTTP_OPTION_EXPIRE_CONNECTION
Non disponibile
- X - X Windows 10 versione 1903
WINHTTP_OPTION_EXTENDED_ERROR
DWORD
X X X - -
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
BOOL
X - - X Windows 10 versione 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 versione 1903
WINHTTP_OPTION_HTTP_PROTOCOL_USED
DWORD
- X X - Windows 10 versione 1607
WINHTTP_OPTION_HTTP_VERSION
HTTP_VERSION_INFO
X X X X -
WINHTTP_OPTION_HTTP2_KEEPALIVE
DWORD
X - - X Windows 10 versione 21H1
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
BOOL
X X - X Windows 10 versione 21H1
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
BOOL
- X - X Windows 10 versione 2004
WINHTTP_OPTION_IPV6_FAST_FALLBACK
BOOL
X - - X Windows 10 versione 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 versione 1903
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_REQUEST_TIMES
- X X - Windows 10 versione 1903
WINHTTP_OPTION_REQUIRE_STREAM_END
BOOL
X X - X Windows 10 versione 21H1
WINHTTP_OPTION_RESOLUTION_HOSTNAME
LPWSTR
- X - X Windows 10 versione 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 versione 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 versione 2004
WINHTTP_OPTION_SERVER_CERT_CONTEXT
CONTESTO 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 versione 21H1
WINHTTP_OPTION_TCP_FAST_OPEN
BOOL
X - - X Windows 10 versione 2004
WINHTTP_OPTION_TCP_KEEPALIVE
tcp_keepalive
X - - X Windows 10 versione 2004
WINHTTP_OPTION_TLS_FALSE_START
BOOL
X - - X Windows 10 versione 2004
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
BOOL
X - - X Windows 10 versione 21H1
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
HINTERNET
X - - X -
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
DWORD
- X - X -
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
Non disponibile
- 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 -

Annotazioni

Per Windows XP e Windows 2000, vedi requisitiRun-Time.

Requisiti

Requisito Valore
Client minimo supportato Windows XP, Windows 2000 Professional con SP3 [solo app desktop]
Server minimo supportato Windows Server 2003, Windows 2000 Server con SP3 [solo app desktop]
Ridistribuibile WinHTTP 5.0 e Internet Explorer 5.01 o versione successiva in Windows XP e Windows 2000.
Intestazione Winhttp.h

Vedere anche