Condividi tramite


Funzione WinHttpSetOption (winhttp.h)

La funzione WinHttpSetOption imposta un'opzione Internet.

Sintassi

WINHTTPAPI BOOL WinHttpSetOption(
  [in] HINTERNET hInternet,
  [in] DWORD     dwOption,
  [in] LPVOID    lpBuffer,
  [in] DWORD     dwBufferLength
);

Parametri

[in] hInternet

Handle DELL'interfaccia DELLA RETE SU cui impostare i dati. Tenere presente che può trattarsi di un handle di sessione o di un handle di richiesta, a seconda dell'opzione impostata. Per altre informazioni su come determinare quale handle è appropriato usare per l'impostazione di una particolare opzione, vedere Flag di opzione.

[in] dwOption

Valore intero lungo senza segno che contiene l'opzione Internet da impostare. Può trattarsi di uno dei valori di Flag di opzione .

[in] lpBuffer

Puntatore a un buffer che contiene l'impostazione dell'opzione.

[in] dwBufferLength

Valore intero long senza segno che contiene la lunghezza del buffer lpBuffer . La lunghezza del buffer viene specificata in caratteri per le opzioni seguenti; per tutte le altre opzioni, la lunghezza viene specificata in byte.

Valore restituito

Restituisce TRUE se l'operazione riesce o FALSE in caso contrario. Per informazioni sugli errori estesi, chiamare GetLastError. Tra i codici di errore restituiti sono riportati di seguito:

Codice di errore Descrizione
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
Impossibile eseguire l'operazione richiesta perché l'handle fornito non è nello stato corretto.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
Il tipo di handle fornito non è corretto per questa operazione.
ERROR_WINHTTP_INTERNAL_ERROR
Si è verificato un errore interno.
ERROR_WINHTTP_INVALID_OPTION
Una richiesta a WinHttpQueryOption o WinHttpSetOption ha specificato un valore di opzione non valido.
ERROR_INVALID_PARAMETER
Un parametro non è valido.

Questo valore verrà restituito se WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL è impostato su un valore inferiore a 15000.

ERROR_WINHTTP_OPTION_NOT_SETTABLE
L'opzione richiesta non può essere impostata, solo su cui viene eseguita una query.
ERROR_INVALID_PARAMETER
Un parametro non è valido.

Questo valore verrà restituito se WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL è impostato su un valore inferiore a 15000.

ERROR_NOT_ENOUGH_MEMORY
Memoria insufficiente per completare l'operazione richiesta. (Codice errore di Windows)

Commenti

Le credenziali passate a WinHttpSetOption potrebbero essere inviate in modo imprevisto in testo non crittografato. È consigliabile usare WinHttpQueryAuthSchemes e WinHttpSetCredentials anziché WinHttpSetOption per l'impostazione delle credenziali.

Nota Quando si usa l'autenticazione Passport, tuttavia, un'applicazione WinHTTP che risponde a un codice di stato 407 deve usare WinHttpSetOption per fornire credenziali proxy anziché WinHttpSetCredentials. Questo vale solo quando si usa l'autenticazione Passport; in tutte le altre circostanze, usare WinHttpSetCredentials.
 
Anche quando WinHTTP viene usato in modalità asincrona , ovvero quando WINHTTP_FLAG_ASYNC è stato impostato in WinHttpOpen, questa funzione funziona in modo sincrono. Il valore restituito indica l'esito positivo o negativo. Per informazioni dettagliate sull'errore, chiamare GetLastError.

GetLastError restituisce l'errore ERROR_INVALID_PARAMETER se viene specificato un flag di opzione che non può essere impostato.

Per altre informazioni ed esempi di codice che mostrano l'uso di WinHttpSetOption, vedere Autenticazione in WinHTTP.

Nota Per Windows XP e Windows 2000, vedere la sezione Requisiti di runtime della pagina iniziale di WinHttp.
 

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]
Piattaforma di destinazione Windows
Intestazione winhttp.h
Libreria Winhttp.lib
DLL Winhttp.dll
Componente ridistribuibile WinHTTP 5.0 e Internet Explorer 5.01 o versione successiva in Windows XP e Windows 2000.

Vedi anche

Autenticazione in WinHTTP

Flag di opzione

Versioni di WinHTTP

WinHttpCloseHandle

WinHttpOpen

WinHttpQueryOption