Fonction WinHttpGetDefaultProxyConfiguration (winhttp.h)

La fonction WinHttpGetDefaultProxyConfiguration récupère la configuration de proxy WinHTTP par défaut à partir du Registre.

Syntaxe

WINHTTPAPI BOOL WinHttpGetDefaultProxyConfiguration(
  [in, out] WINHTTP_PROXY_INFO *pProxyInfo
);

Paramètres

[in, out] pProxyInfo

Pointeur vers une variable de type WINHTTP_PROXY_INFO qui reçoit la configuration de proxy par défaut.

Valeur retournée

Retourne TRUE si elle réussit ou FALSE dans le cas contraire. Pour récupérer un message d’erreur spécifique, appelez GetLastError. Les codes d’erreur retournés sont les suivants.

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

Remarques

WinHttpGetDefaultProxyConfiguration récupère la configuration du proxy définie par WinHttpSetDefaultProxyConfiguration ou ProxyCfg.exe.

La configuration du proxy par défaut peut être remplacée pour une session WinHTTP en appelant WinHttpSetOption et en spécifiant l’indicateur WINHTTP_OPTION_PROXY .
WinHttpGetDefaultProxyConfiguration ne récupère pas la configuration de la session active. Il récupère la configuration spécifiée dans le Registre.

Si le Registre contient une liste de serveurs proxy, le membre dwAccessType de pProxyInfo est défini sur WINHTTP_ACCESS_TYPE_NAMED_PROXY. Sinon, il est défini sur WINHTTP_ACCESS_TYPE_NO_PROXY.

WinHttpGetDefaultProxyConfiguration alloue de la mémoire pour les membres de chaîne de pProxyInfo. Pour libérer cette mémoire, appelez GlobalFree.

Même lorsque WinHTTP est utilisé en mode asynchrone (c’est-à-dire, lorsque 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 d’exécution de la page de démarrage WinHTTP.
 

Exemples

L’exemple de code suivant montre comment récupérer la configuration de proxy par défaut à partir du Registre.

    WINHTTP_PROXY_INFO proxyInfo;

    // Retrieve the default proxy configuration.
    WinHttpGetDefaultProxyConfiguration( &proxyInfo );

    // Display the proxy servers and free memory 
    // allocated to this string.
    if (proxyInfo.lpszProxy != NULL)
    {
        printf("Proxy server list: %S\n", proxyInfo.lpszProxy);
        GlobalFree( proxyInfo.lpszProxy );
    }

    // Display the bypass list and free memory 
    // allocated to this string.
    if (proxyInfo.lpszProxyBypass != NULL)
    {
        printf("Proxy bypass list: %S\n", proxyInfo.lpszProxyBypass);
        GlobalFree( 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

ProxyCfg.exe, un outil de configuration de proxy

WinHTTP Versions

WinHttpSetDefaultProxyConfiguration