Функция WinHttpSetDefaultProxyConfiguration (winhttp.h)

Важно!

Использование WinHttpSetDefaultProxyConfiguration не рекомендуется для Windows 8.1 и более новых версий. Большинство конфигураций прокси-сервера не поддерживаются WinHttpSetDefaultProxyConfiguration и не поддерживают проверку подлинности прокси-сервера. Вместо этого используйте WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY с WinHttpOpen.

Функция WinHttpSetDefaultProxyConfiguration задает конфигурацию прокси-сервера WinHTTP по умолчанию в реестре.

Синтаксис

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

Параметры

[in] pProxyInfo

Указатель на переменную типа WINHTTP_PROXY_INFO , указывающую конфигурацию прокси-сервера по умолчанию.

Возвращаемое значение

Возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае. Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError. Среди возвращаемых кодов ошибок приведены следующие.

Код ошибки Описание
ERROR_WINHTTP_INTERNAL_ERROR
Произошла внутренняя ошибка.
ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти для выполнения запрошенной операции. (Код ошибки Windows)

Комментарии

Конфигурацию прокси-сервера по умолчанию, заданную WinHttpSetDefaultProxyConfiguration , можно переопределить для существующего сеанса WinHTTP, вызвав WinHttpSetOption и указав флаг WINHTTP_OPTION_PROXY . Конфигурацию прокси-сервера по умолчанию можно переопределить для нового сеанса, указав конфигурацию с помощью функции WinHttpOpen .

Член dwAccessTypeструктуры WINHTTP_PROXY_INFO , на которую указывает pProxyInfo , должен иметь значение WINHTTP_ACCESS_TYPE_NAMED_PROXY если указан прокси-сервер. В противном случае ему следует задать значение WINHTTP_ACCESS_TYPE_DEFAULT_PROXY.

Все новые сеансы, созданные после вызова этой функции, используют новую конфигурацию прокси-сервера по умолчанию.

Даже если WinHTTP используется в асинхронном режиме (то есть при установке WINHTTP_FLAG_ASYNC в WinHttpOpen), эта функция работает синхронно. Возвращаемое значение указывает на успех или сбой. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Примечание Для Windows XP и Windows 2000 см. раздел Требования во время выполнения начальной страницы WinHTTP.
 

Примеры

В следующем примере кода показано, как задать конфигурацию прокси-сервера по умолчанию в реестре.

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;

Требования

Требование Значение
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная с пакетом обновления 3 (SP3) [только классические приложения]
Минимальная версия сервера Windows Server 2003, Windows 2000 Server с пакетом обновления 3 (SP3) [только классические приложения]
Целевая платформа Windows
Header winhttp.h
Библиотека Winhttp.lib
DLL Winhttp.dll
Распространяемые компоненты WinHTTP 5.0 и Internet Обозреватель 5.01 или более поздней версии в Windows XP и Windows 2000.

См. также раздел

Версии WinHTTP

WinHttpGetDefaultProxyConfiguration