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 检索 由 WinHttpSetDefaultProxyConfigurationProxyCfg.exe设置的 代理配置。

可以通过调用 WinHttpSetOption 并指定 WINHTTP_OPTION_PROXY 标志来替代 WinHTTP 会话的默认代理配置。
WinHttpGetDefaultProxyConfiguration 不会检索当前会话的配置。 它检索注册表中指定的配置。

如果注册表包含代理服务器列表,则 pProxyInfodwAccessType 成员设置为WINHTTP_ACCESS_TYPE_NAMED_PROXY。 否则,它设置为 WINHTTP_ACCESS_TYPE_NO_PROXY

WinHttpGetDefaultProxyConfigurationpProxyInfo 的字符串成员分配内存。 若要释放此内存,请调用 GlobalFree

即使在异步模式下使用 WinHTTP, (即在 WinHttpOpen) 中设置了WINHTTP_FLAG_ASYNC时,此函数也会同步运行。 返回值指示成功或失败。 要获得更多的错误信息,请调用 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 Professional SP3 [仅限桌面应用]
最低受支持的服务器 Windows Server 2003、Windows 2000 Server SP3 [仅限桌面应用]
目标平台 Windows
标头 winhttp.h
Library Winhttp.lib
DLL Winhttp.dll
可再发行组件 Windows XP 和 Windows 2000 上的 WinHTTP 5.0 和 Internet Explorer 5.01 或更高版本。

另请参阅

ProxyCfg.exe,代理配置工具

WinHTTP 版本

WinHttpSetDefaultProxyConfiguration