Compartilhar via


Função WinHttpSetDefaultProxyConfiguration (winhttp.h)

Importante

O uso de WinHttpSetDefaultProxyConfiguration foi preterido no Windows 8.1 e mais recente. A maioria das configurações de proxy não tem suporte do WinHttpSetDefaultProxyConfiguration nem dá suporte à autenticação de proxy. Em vez disso, use WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY com WinHttpOpen.

A função WinHttpSetDefaultProxyConfiguration define a configuração padrão de proxy WinHTTP no registro.

Sintaxe

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

Parâmetros

[in] pProxyInfo

Um ponteiro para uma variável do tipo WINHTTP_PROXY_INFO que especifica a configuração de proxy padrão.

Retornar valor

Retorna TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, chame GetLastError. Entre os códigos de erro retornados estão os seguintes.

Código do Erro Descrição
ERROR_WINHTTP_INTERNAL_ERROR
Ocorreu um erro interno.
ERROR_NOT_ENOUGH_MEMORY
Não havia memória suficiente disponível para concluir a operação solicitada. (Código de erro do Windows)

Comentários

A configuração de proxy padrão definida por WinHttpSetDefaultProxyConfiguration pode ser substituída por uma sessão WinHTTP existente chamando WinHttpSetOption e especificando o sinalizador WINHTTP_OPTION_PROXY . A configuração de proxy padrão pode ser substituída para uma nova sessão especificando a configuração com a função WinHttpOpen .

O membro dwAccessType da estrutura de WINHTTP_PROXY_INFO apontada por pProxyInfo deve ser definido como WINHTTP_ACCESS_TYPE_NAMED_PROXY se um proxy for especificado. Caso contrário, ele deverá ser definido como WINHTTP_ACCESS_TYPE_DEFAULT_PROXY.

As novas sessões criadas após chamar essa função usam a nova configuração de proxy padrão.

Mesmo quando WinHTTP é usado no modo assíncrono (ou seja, quando WINHTTP_FLAG_ASYNC foi definido no WinHttpOpen), essa função opera de forma síncrona. O valor retornado indica êxito ou falha. Para obter informações de erro estendidas, chame GetLastError.

Nota Para Windows XP e Windows 2000, consulte a seção Requisitos de tempo de execução da página inicial do WinHTTP.
 

Exemplos

O exemplo de código a seguir mostra como definir a configuração de proxy padrão no 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 Valor
Cliente mínimo com suporte Windows XP, Windows 2000 Professional com SP3 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003, Windows 2000 Server com SP3 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winhttp.h
Biblioteca Winhttp.lib
DLL Winhttp.dll
Redistribuível WinHTTP 5.0 e Internet Explorer 5.01 ou posterior no Windows XP e Windows 2000.

Confira também

Versões do WinHTTP

WinHttpGetDefaultProxyConfiguration