Partager via


WinHttpSetDefaultProxyConfiguration, fonction (winhttp.h)

Important

L’utilisation de WinHttpSetDefaultProxyConfiguration est déconseillée sur Windows 8.1 et plus récente. La plupart des configurations de proxy ne sont pas prises en charge par WinHttpSetDefaultProxyConfiguration et ne prennent pas en charge l’authentification proxy. Utilisez plutôt WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY avec WinHttpOpen.

La fonction WinHttpSetDefaultProxyConfiguration définit la configuration de proxy WinHTTP par défaut dans le Registre.

Syntaxe

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

Paramètres

[in] pProxyInfo

Pointeur vers une variable de type WINHTTP_PROXY_INFO qui spécifie la configuration de proxy par défaut.

Valeur retournée

Retourne TRUE en cas de réussite, ou FALSE dans le cas contraire. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Parmi les codes d’erreur retournés figurent les suivants.

Code d'erreur Description
ERROR_WINHTTP_INTERNAL_ERROR
Une erreur interne s'est produite.
ERROR_NOT_ENOUGH_MEMORY
La mémoire disponible était insuffisante pour terminer l’opération demandée. (Code d’erreur Windows)

Remarques

La configuration de proxy par défaut définie par WinHttpSetDefaultProxyConfiguration peut être remplacée pour une session WinHTTP existante en appelant WinHttpSetOption et en spécifiant l’indicateur WINHTTP_OPTION_PROXY . La configuration de proxy par défaut peut être remplacée pour une nouvelle session en spécifiant la configuration avec la fonction WinHttpOpen .

Le membre dwAccessType de la structure WINHTTP_PROXY_INFO pointée par pProxyInfo doit être défini sur WINHTTP_ACCESS_TYPE_NAMED_PROXY si un proxy est spécifié. Sinon, elle doit être définie sur WINHTTP_ACCESS_TYPE_DEFAULT_PROXY.

Toutes les sessions créées après l’appel de cette fonction utilisent la nouvelle configuration de proxy par défaut.

Même lorsque WinHTTP est utilisé en mode asynchrone (autrement dit, quand WINHTTP_FLAG_ASYNC a été défini dans WinHttpOpen), cette fonction fonctionne de manière synchrone. La valeur de retour indique la réussite ou l’échec. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Note Pour Windows XP et Windows 2000, consultez la section Conditions requises pour l’exécution de la page de démarrage WinHTTP.
 

Exemples

L’exemple de code suivant montre comment définir la configuration de proxy par défaut dans le Registre.

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;

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP, Windows 2000 Professionnel avec SP3 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003, Windows 2000 Server avec SP3 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winhttp.h
Bibliothèque Winhttp.lib
DLL Winhttp.dll
Composant redistribuable WinHTTP 5.0 et Internet Explorer 5.01 ou version ultérieure sur Windows XP et Windows 2000.

Voir aussi

Versions WinHTTP

WinHttpGetDefaultProxyConfiguration