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 |
---|---|
|
Une erreur interne s'est produite. |
|
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.
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. |