Функция 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. Среди возвращаемых кодов ошибок приведены следующие.
Код ошибки | Описание |
---|---|
|
Произошла внутренняя ошибка. |
|
Недостаточно памяти для выполнения запрошенной операции. (Код ошибки 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.
Примеры
В следующем примере кода показано, как задать конфигурацию прокси-сервера по умолчанию в реестре.
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. |