WinHttpSetDefaultProxyConfiguration 函式 (winHTTP.h)
重要
WinHttpSetDefaultProxyConfiguration 在 Windows 8.1 和更新版本上已被取代。 WinHttpSetDefaultProxyConfiguration 不支援大部分的 Proxy 組態,也不支援 Proxy 驗證。 請改用 WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY 搭配 WinHttpOpen。
WinHttpSetDefaultProxyConfiguration 函式會在登錄中設定預設的 WinHTTP Proxy 組態。
語法
WINHTTPAPI BOOL WinHttpSetDefaultProxyConfiguration(
[in] WINHTTP_PROXY_INFO *pProxyInfo
);
參數
[in] pProxyInfo
指定預設 Proxy 組態之類型 變數的指標WINHTTP_PROXY_INFO 。
傳回值
如果成功,則傳回 TRUE ,否則傳回 FALSE 。 如需擴充錯誤資訊,請呼叫 GetLastError。 傳回的錯誤碼如下。
錯誤碼 | 描述 |
---|---|
|
發生內部錯誤。 |
|
記憶體不足,無法完成要求的作業。 (Windows 錯誤碼) |
備註
WinHttpSetDefaultProxyConfiguration 所設定的預設 Proxy 組態可以呼叫 WinHttpSetOption 並指定WINHTTP_OPTION_PROXY旗標,覆寫現有的 WinHTTP 會話。 使用 WinHttpOpen 函式指定組態,即可覆寫新會話的預設 Proxy 組態。
如果指定 Proxy,pProxyInfo 所指向之WINHTTP_PROXY_INFO結構的 dwAccessType 成員應該設定為 WINHTTP_ACCESS_TYPE_NAMED_PROXY。 否則,它應該設定為 WINHTTP_ACCESS_TYPE_DEFAULT_PROXY。
呼叫此函式之後建立的任何新會話都使用新的預設 Proxy 組態。
即使 WinHTTP 用於異步模式 (亦即,在 WinHttpOpen) 中設定WINHTTP_FLAG_ASYNC時,此函式仍會同步運作。 傳回值表示成功或失敗。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
範例
下列程式代碼範例示範如何在登錄中設定預設 Proxy 組態。
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 Professional 與 SP3 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003、Windows 2000 Server 與 SP3 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winhttp.h |
程式庫 | Winhttp.lib |
Dll | Winhttp.dll |
可轉散發套件 | Windows XP 和 Windows 2000 上的 WinHTTP 5.0 和 Internet Explorer 5.01 或更新版本。 |