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 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

Vedi anche