Función WinHttpSetDefaultProxyConfiguration (winhttp.h)

Importante

El uso de WinHttpSetDefaultProxyConfiguration está en desuso en Windows 8.1 y versiones más recientes. La mayoría de las configuraciones de proxy no son compatibles con WinHttpSetDefaultProxyConfiguration, ni admite la autenticación de proxy. En su lugar, use WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY con WinHttpOpen.

La función WinHttpSetDefaultProxyConfiguration establece la configuración predeterminada del proxy WinHTTP en el Registro.

Sintaxis

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

Parámetros

[in] pProxyInfo

Puntero a una variable de tipo WINHTTP_PROXY_INFO que especifica la configuración de proxy predeterminada.

Valor devuelto

Devuelve TRUE si es correcto o FALSE en caso contrario. Para obtener información de error extendida, llame a GetLastError. Entre los códigos de error devueltos se encuentran los siguientes.

Código de error Descripción
ERROR_WINHTTP_INTERNAL_ERROR
Se ha producido un error interno.
ERROR_NOT_ENOUGH_MEMORY
No había suficiente memoria disponible para completar la operación solicitada. (Código de error de Windows)

Comentarios

La configuración de proxy predeterminada establecida por WinHttpSetDefaultProxyConfiguration se puede invalidar para una sesión winHTTP existente llamando a WinHttpSetOption y especificando la marca WINHTTP_OPTION_PROXY . La configuración de proxy predeterminada se puede invalidar para una nueva sesión especificando la configuración con la función WinHttpOpen .

El miembro dwAccessType de la estructura WINHTTP_PROXY_INFO a la que apunta pProxyInfo debe establecerse en WINHTTP_ACCESS_TYPE_NAMED_PROXY si se especifica un proxy. De lo contrario, debe establecerse en WINHTTP_ACCESS_TYPE_DEFAULT_PROXY.

Las sesiones nuevas creadas después de llamar a esta función usan la nueva configuración de proxy predeterminada.

Incluso cuando WinHTTP se usa en modo asincrónico (es decir, cuando se ha establecido WINHTTP_FLAG_ASYNC en WinHttpOpen), esta función funciona de forma sincrónica. El valor devuelto indica éxito o error. Para obtener información de error extendida, llame a GetLastError.

Nota Para Windows XP y Windows 2000, consulta la sección Requisitos en tiempo de ejecución de la página de inicio de WinHTTP.
 

Ejemplos

En el ejemplo de código siguiente se muestra cómo establecer la configuración de proxy predeterminada en el Registro.

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;

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP, Windows 2000 Professional con SP3 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003, Windows 2000 Server con SP3 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winhttp.h
Library Winhttp.lib
Archivo DLL Winhttp.dll
Redistribuible WinHTTP 5.0 e Internet Explorer 5.01 o posterior en Windows XP y Windows 2000.

Consulte también

Versiones de WinHTTP

WinHttpGetDefaultProxyConfiguration