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设置的 代理配置。
可以通过调用 WinHttpSetOption 并指定 WINHTTP_OPTION_PROXY 标志来替代 WinHTTP 会话的默认代理配置。
WinHttpGetDefaultProxyConfiguration 不会检索当前会话的配置。 它检索注册表中指定的配置。
如果注册表包含代理服务器列表,则 pProxyInfo 的 dwAccessType 成员设置为WINHTTP_ACCESS_TYPE_NAMED_PROXY。 否则,它设置为 WINHTTP_ACCESS_TYPE_NO_PROXY。
WinHttpGetDefaultProxyConfiguration 为 pProxyInfo 的字符串成员分配内存。 若要释放此内存,请调用 GlobalFree。
即使在异步模式下使用 WinHTTP, (即在 WinHttpOpen) 中设置了WINHTTP_FLAG_ASYNC时,此函数也会同步运行。 返回值指示成功或失败。 要获得更多的错误信息,请调用 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 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 或更高版本。 |