Поделиться через


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

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

Синтаксис

WINHTTPAPI BOOL WinHttpGetDefaultProxyConfiguration(
  [in, out] WINHTTP_PROXY_INFO *pProxyInfo
);

Параметры

[in, out] pProxyInfo

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

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

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

Код ошибки Описание
ERROR_WINHTTP_INTERNAL_ERROR
Произошла внутренняя ошибка.
ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти для выполнения запрошенной операции. (Код ошибки 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.

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

Примеры

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

    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.

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

ProxyCfg.exe, средство настройки прокси-сервера

Версии WinHTTP

WinHttpSetDefaultProxyConfiguration