Funzione WinHttpHttpSetDefaultProxyConfiguration (winhttp.h)

Importante

L'uso di WinHttpSetDefaultProxyConfiguration è deprecato in Windows 8.1 e versioni successive. La maggior parte delle configurazioni proxy non è supportata da WinHttpSetDefaultProxyConfiguration, né supporta l'autenticazione proxy. Usare invece WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY con WinHttpOpen.

La funzione WinHttpSetDefaultProxyConfiguration imposta la configurazione predefinita del proxy WinHTTP nel Registro di sistema.

Sintassi

WINHTTPAPI BOOL WinHttpSetDefaultProxyConfiguration(
  [in] WINHTTP_PROXY_INFO *pProxyInfo
);

Parametri

[in] pProxyInfo

Puntatore a una variabile di tipo WINHTTP_PROXY_INFO che specifica la configurazione proxy predefinita.

Valore restituito

Restituisce TRUE se ha esito positivo o FALSE in caso contrario. Per informazioni sull'errore estese, chiamare GetLastError. Tra i codici di errore restituiti sono i seguenti.

Codice di errore Descrizione
ERROR_WINHTTP_INTERNAL_ERROR
Si è verificato un errore interno.
ERROR_NOT_ENOUGH_MEMORY
Memoria insufficiente per completare l'operazione richiesta. (Codice errore di Windows)

Commenti

La configurazione proxy predefinita impostata da WinHttpSetDefaultProxyConfiguration può essere sostituita per una sessione WinHTTP esistente chiamando WinHttpSetOption e specificando il flag di WINHTTP_OPTION_PROXY . La configurazione proxy predefinita può essere sottoposta a override per una nuova sessione specificando la configurazione con la funzione WinHttpOpen .

Il membro dwAccessType della struttura WINHTTP_PROXY_INFO a cui fa riferimento pProxyInfo deve essere impostato su WINHTTP_ACCESS_TYPE_NAMED_PROXY se è specificato un proxy. In caso contrario, deve essere impostato su WINHTTP_ACCESS_TYPE_DEFAULT_PROXY.

Tutte le nuove sessioni create dopo aver chiamato questa funzione usano la nuova configurazione proxy predefinita.

Anche quando WinHTTP viene usato in modalità asincrona, ovvero quando WINHTTP_FLAG_ASYNC è stato impostato in WinHttpOpen, questa funzione opera in modo sincrono. Il valore restituito indica l'esito positivo o negativo. Per informazioni dettagliate sull'errore, chiamare GetLastError.

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

Esempio

Nell'esempio di codice seguente viene illustrato come impostare la configurazione proxy predefinita nel Registro di sistema.

WINHTTP_PROXY_INFO proxyInfo;

// Allocate memory for string members.
proxyInfo.lpszProxy = new WCHAR[25];
proxyInfo.lpszProxyBypass = new WCHAR[25];

// Set the members of the proxy info structure.
proxyInfo.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY;
swprintf_s(proxyInfo.lpszProxy, 25, L"proxy_server");
swprintf_s(proxyInfo.lpszProxyBypass, 25, L"<local>");

// Set the default proxy configuration.
if (WinHttpSetDefaultProxyConfiguration( &proxyInfo ))
    printf("Proxy Configuration Set.\n");

// Free memory allocated to the strings.
delete [] proxyInfo.lpszProxy;
delete [] proxyInfo.lpszProxyBypass;

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

Versioni WinHTTP

WinHttpGetDefaultProxyConfiguration