Функция WinHttpGetDefaultProxyConfiguration (winhttp.h)
Функция WinHttpGetDefaultProxyConfiguration извлекает конфигурацию прокси-сервера WinHTTP по умолчанию из реестра.
Синтаксис
WINHTTPAPI BOOL WinHttpGetDefaultProxyConfiguration(
[in, out] WINHTTP_PROXY_INFO *pProxyInfo
);
Параметры
[in, out] pProxyInfo
Указатель на переменную типа WINHTTP_PROXY_INFO , которая получает конфигурацию прокси-сервера по умолчанию.
Возвращаемое значение
Возвращает значение TRUE в случае успешного выполнения или false в противном случае. Чтобы получить определенное сообщение об ошибке, вызовите Метод GetLastError. Возвращаемые коды ошибок включают следующие.
Код ошибки | Описание |
---|---|
|
Произошла внутренняя ошибка. |
|
Недостаточно памяти для выполнения запрошенной операции. (Код ошибки Windows) |
Комментарии
WinHttpGetDefaultProxyConfiguration извлекает конфигурацию прокси-сервера, заданную WinHttpSetDefaultProxyConfiguration или ProxyCfg.exe.
Конфигурацию прокси-сервера по умолчанию можно переопределить для сеанса WinHTTP, вызвав WinHttpSetOption и указав флаг WINHTTP_OPTION_PROXY .
WinHttpGetDefaultProxyConfiguration не получает конфигурацию для текущего сеанса. Он извлекает конфигурацию, указанную в реестре.
Если реестр содержит список прокси-серверов, члену dwAccessTypepProxyInfo присваивается значение WINHTTP_ACCESS_TYPE_NAMED_PROXY. В противном случае устанавливается значение WINHTTP_ACCESS_TYPE_NO_PROXY.
WinHttpGetDefaultProxyConfiguration выделяет память для строковых элементов pProxyInfo. Чтобы освободить эту память, вызовите GlobalFree.
Даже если WinHTTP используется в асинхронном режиме (то есть при установке WINHTTP_FLAG_ASYNC в WinHttpOpen), эта функция работает синхронно. Возвращаемое значение указывает на успех или сбой. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Примеры
В следующем примере кода показано, как получить конфигурацию прокси-сервера по умолчанию из реестра.
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 );
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | 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. |