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 prescritto, questa opzione può migliorare le prestazioni.
WINHTTP_OPTION_AUTOLOGON_POLICY
Imposta un valore long integer 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 da aprire. Quindi, al primo invio di una richiesta, anziché aprire una sola 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 della creazione 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.
Nota
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. I possibili valori sono i seguenti:
Termine | Descrizione |
---|---|
WINHTTP_DISABLE_PASSPORT_AUTH | L'autenticazione di Microsoft Passport è disabilitata. Questo è il valore predefinito. |
WINHTTP_DISABLE_PASSPORT_KEYRING | Il keyring passport è disabilitato. Questo è il valore predefinito. |
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 solo una 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 non riesce ancora 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 è di cinque tentativi.
WINHTTP_OPTION_CONNECT_TIMEOUT
Imposta o recupera un valore intero long senza segno che contiene il valore di timeout, espresso in millisecondi. Se si imposta questa opzione su infinite (0xFFFFFFFF) questo timer verrà disabilitato.
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 WinHttpReceiveResponse restituisce . 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 sulla stessa connessione.
Nota
Questa opzione è stata sostituita da WINHTTP_OPTION_CONNECTION_STATS_V1.
WINHTTP_OPTION_CONNECTION_STATS_V1
Recupera lo struct TCP_INFO_v1 per la connessione sottostante usata dalla richiesta. Lo struct restituito può contenere statistiche dalle richieste precedenti inviate sulla stessa connessione.
WINHTTP_OPTION_CONTEXT_VALUE
Imposta o recupera un DWORD_PTR che contiene un puntatore al valore di contesto associato a questo handle DI RETE. Il valore archiviato nel buffer viene usato 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 imposterà 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 | Decompressione content-Encoding: deflate responses.Decompress Content-Encoding: deflate responses.Decompress Content-Encoding: deflate responses. |
WINHTTP_DECOMPRESSION_FLAG_ALL | Decomprimere le risposte con qualsiasi codifica di 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 quali funzionalità sono 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 delle 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 pooling globale e intersessione. Questa procedura è consigliata perché il pooling globale tra sessioni è un comportamento legacy supportato per impostazione predefinita per motivi di compatibilità. Ciò è interessato dall'impostazione manuale del numero massimo di connessioni.
WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES
Disabilita una o più delle procedure di autenticazione proxy seguenti nella sessione WinHTTP fornendo tutte le OR
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 durante l'invio di 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 iniziale del protocollo non riesce.
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
Consente alle nuove richieste di aprire una connessione HTTP/2 aggiuntiva quando viene raggiunto il limite massimo di flusso simultaneo, anziché attendere il flusso disponibile successivo 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 nell'handle di sessione. |
WINHTTP_ENABLE_SSL_REVOCATION | Se abilitata, WinHTTP consente la revoca SSL. Questo valore può essere impostato solo sull'handle di 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 handleNULLo NULL. Vedi anche Raccogliere tracce WinHTTP.
WINHTTP_OPTION_ENCODE_EXTRA
Abilita la codifica della percentuale 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 dopo il completamento 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
Controllare 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 sulla 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, verrà restituito l'errore ERROR_WINHTTP_INVALID_OPTION. Questa chiave del Registro di sistema non è presente per impostazione predefinita. Quando è impostato, 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, verrà restituito l'errore ERROR_WINHTTP_INVALID_OPTION. Questa chiave del Registro di sistema non è presente per impostazione predefinita. Quando è impostato, 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 long integer senza segno che contiene il tipo dell'handle DELL'interfaccia DI RETE PASSATA . 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 DWORD che indica quale versione HTTP avanzata è stata utilizzata 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 contiene la versione HTTP supportata. Si tratta di un'opzione a livello di processo; usare NULL per l'handle.
WINHTTP_OPTION_HTTP2_KEEPALIVE
Questa opzione può essere impostata su un handle di sessione 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 tale 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 della finestra 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 valore 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 protette 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 ogni connessione 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 le 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 che contiene il numero massimo di connessioni consentite per 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 server. Il valore predefinito è INFINITE.
Quando questa opzione è impostata su zero, WinHTTP imposta il limite per il 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). Il valore predefinito è 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 bloccare 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 contenente 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, che è abbastanza grande per contenere la stringa restituita.
WINHTTP_OPTION_PASSPORT_COBRANDING_URL
Recupera una stringa contenente un URL per un elemento grafico 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, che è abbastanza grande per 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 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 contenente i dati proxy in un handle di sessione o un handle di richiesta esistente. Quando si recuperano dati proxy, un'applicazione deve liberare le stringhelpszProxyByoxyBypass 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 usata 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 usato per accedere al proxy.
WINHTTP_OPTION_QUIC_STATS
Recupera una struttura QUIC_STATISTICS che contiene informazioni di connessione, ad esempio RTT e byte inviate e ricevute.
WINHTTP_OPTION_READ_BUFFER_SIZE
Questa opzione è deprecata; non ha alcun effetto.
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE
Imposta se l'entità di risposta proxy può essere recuperata. Questa opzione è disabilitata per impostazione predefinita.
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
Imposta o recupera un valore intero lungo senza segno che contiene il valore di timeout, in millisecondi, per attendere la ricezione di 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 viene notificata fino a quando non arrivano altri dati dal server. Se non arrivano dati dal server, il ritardo tra la scadenza del timeout e la notifica dell'applicazione client potrebbe essere pari al valore del timeout impostato usando il parametro dwReceiveTimeout della funzione WinHttpSetTimeouts .
WINHTTP_OPTION_RECEIVE_TIMEOUT
Imposta o recupera un valore intero lungo 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 sulla gestione di un codice di stato di reindirizzamento HTTP 30x. Questa opzione può essere impostata su una sessione o 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 | Tutti i reindirizzamenti vengono seguiti, ad eccezione di quelli che hanno origine da un URL sicuro (https) a un URL non sicuro (http). Si tratta dell'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 contenenti 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. Per impostazione predefinita, questa opzione è disabilitata.
WINHTTP_OPTION_REQUEST_ANNOTATION
Consente di ottenere e impostare un'annotazione richiesta per il nome dell'annotazione specificato. Ciò consente al chiamante di collegare una stringa alla richiesta per il recupero successivo per identificare le richieste tramite qualsiasi logica personalizzata che il chiamante trova utile.
WINHTTP_OPTION_REQUEST_PRIORITY
Questa opzione è deprecata; non ha alcun effetto.
WINHTTP_OPTION_REQUEST_STATS
Ritreives statistiche per la richiesta. Per un elenco delle statistiche disponibili, vedere WINHTTP_REQUEST_STATS.
WINHTTP_OPTION_REQUEST_TIMES
Retreives time information for the request(Retreives time information for the request). 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 in un flusso finché non viene ricevuto il flag di 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 lungo senza segno che contiene il valore di timeout, 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 qualsiasi rappresentazione del 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 intero lungo senza segno che specifica quali protocolli sicuri sono accettabili.
- Windows 11, 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 protocolli SSL (Secure Sockets Layer) 2.0, SSL 3.0 e Transport Layer Security (TLS). |
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 aggiungere il supporto per i protocolli TLS 1.1 o TLS 1.2, 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 SSL devono essere usati quando viene usato il flag WINHTTP_OPTION_SECURE_PROTOCOLS .
Importante
Le istruzioni seguenti comportano la modifica del Registro di sistema. L'errata modifica del Registro di sistema può tuttavia causare problemi gravi. Assicurarsi pertanto di seguire attentamente queste istruzioni. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In caso di problemi, sarà quindi possibile ripristinare il Registro di sistema. Per altre informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedere Come eseguire il backup e ripristinare il Registro di sistema in Windows.
Quando un'applicazione specifica WINHTTP_OPTION_SECURE_PROTOCOLS, il sistema verifica la DefaultSecureProtocols
voce del Registro di sistema e, se presente, esegue l'override dei protocolli predefiniti specificati da WINHTTP_OPTION_SECURE_PROTOCOLS con i protocolli specificati nella voce del DefaultSecureProtocols
Registro di sistema. Se la voce del Registro di sistema non è presente, WinHTTP usa le impostazioni predefinite del sistema operativo esistente per WINHTTP_OPTION_SECURE_PROTOCOLS. Queste impostazioni predefinite winHTTP seguono le regole di precedenza esistenti e vengono sovrascritte da protocolli e protocolli disabilitati di Secure Channel (Schannel) impostati per applicazione da WinHttpSetOption.
È possibile aggiungere la voce del DefaultSecureProtocols
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 | Abilitare SSL 2.0 per impostazione predefinita |
0x00000020 | Abilitare SSL 3.0 per impostazione predefinita |
0x00000080 | Abilitare TLS 1.0 per impostazione predefinita |
0x00000200 | Abilitare TLS 1.1 per impostazione predefinita |
0x00000800 | Abilitare TLS 1.2 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 lungo 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 (a 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
Retreives la connessione SChannel e le informazioni di crittografia per una richiesta.
WINHTTP_OPTION_SECURITY_KEY_BITNESS
Recupera un valore intero lungo senza segno che contiene la forza di crittografia della chiave di crittografia. Un numero maggiore indica una crittografia più forte della crittografia.
WINHTTP_OPTION_SEND_TIMEOUT
Imposta o recupera un valore intero lungo 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 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.
Nota
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 alla 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 di 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 può essere passato 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 nel puntatore restituito PCCERT_CONTEXT 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 nel puntatore restituito PCCERT_CONTEXT compilato nel buffer.
WINHTTP_OPTION_SERVER_SPN_USED
Ottiene il nome dell'entità 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 Negozia 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 una query su un handle di richiesta WinHttp e restituirà il codice di errore indicato da un frame 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 tcp keep-alive 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à hint del set di socket TCP con WINHTTP_OPTION_TCP_PRIORITY_HINT. Per altre informazioni, 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 in 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 usato 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 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, che è abbastanza grande per 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. Verrà propagato solo in base agli handle creati dall'handle di sessione dopo che l'opzione è stata impostata. Se TRUE, questa opzione causa come ultima istanza l'uso delle credenziali del server globale che sono state eseguite 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\Impostazioni Internet! ShareCredsWithWinHttp. Questa chiave del Registro di sistema non è presente per impostazione predefinita. Quando è impostato, WinINet invierà le credenziali a WinHTTP. Ogni volta che WinHttp ottiene una richiesta di autenticazione e se non sono presenti credenziali impostate sull'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 ogni 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 è abbastanza grande per contenere l'URL restituito in caratteri wide. Quando si imposta l'agente utente, la dimensione del buffer è la lunghezza della stringa, in caratteri, oltre al terminatore NULL .
WINHTTP_OPTION_USERNAME
Imposta o recupera una stringa contenente il nome utente.
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT
Imposta il tempo, in millisecondi, che WinHttpWebSocketClose deve attendere il completamento dell'handshake di chiusura. Il valore predefinito è 10 secondi.
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL
Imposta l'intervallo, 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.
Nota
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 di keepalive inferiore a 15000 millisecondi.
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE
Imposta o recupera una DWORD che specifica le dimensioni del buffer di ricezione da usare nelle connessioni WebSocket.
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE
Imposta o recupera una DWORD che specifica le dimensioni del buffer di invio da usare nelle connessioni WebSocket.
WINHTTP_OPTION_WORKER_THREAD_COUNT
Imposta un valore intero lungo senza segno che specifica il numero di thread di lavoro che il pool di thread di thread deve usare per i completamento 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 handle NULLHINTERNET 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.
Commenti
Nella tabella seguente sono elencati i flag di opzione specificando quali handle possono agire, se possono essere sottoposti a query e set e il tipo di dati usato. Un valore "X" indica che il flag di opzione è valido per l'uso con la funzione o l'handle, mentre un "-" 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 genera ERROR_WINHTTP_INVALID_OPTION.
Flag di opzione e tipo di dati | Handle sessione | Handle di richiesta | Opzione di 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 N/D |
- | 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 L'ATTIVITÀ DI UNINET |
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 L'ATTIVITÀ DI UNINET |
X | - | - | X | - |
WINHTTP_OPTION_UNSAFE_HEADER_PARSING DWORD |
- | X | - | X | - |
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET N/D |
- | 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 | - |
Nota
Per Windows XP e Windows 2000, vedere Requisiti di runtime.
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] |
Componente ridistribuibile | WinHTTP 5.0 e Internet Explorer 5.01 o versione successiva in Windows XP e Windows 2000. |
Intestazione | Winhttp.h |