IBackgroundCopyJob::SetProxySettings 方法 (bits.h)
指定要用來傳輸檔案的 Proxy。
語法
HRESULT SetProxySettings(
[in] BG_JOB_PROXY_USAGE ProxyUsage,
[in] const WCHAR *ProxyList,
[in] const WCHAR *ProxyBypassList
);
參數
[in] ProxyUsage
指定是否要使用使用者的 Proxy 設定,而不是使用 Proxy,或使用應用程式指定的 Proxy 設定。 默認值為使用使用者的 Proxy 設定, BG_JOB_PROXY_USAGE_PRECONFIG。 如需 Proxy 選項的清單,請參閱 BG_JOB_PROXY_USAGE 列舉。
[in] ProxyList
Null 終止的字串,其中包含用來傳輸檔案的 Proxy。 此清單是以空格分隔。 如需指定 Proxy 的詳細資訊,請參閱。
如果 ProxyUsage 的值是 BG_JOB_PROXY_USAGE_PRECONFIG、BG_JOB_PROXY_USAGE_NO_PROXY 或 BG_JOB_PROXY_USAGE_AUTODETECT,則此參數必須是 NULL。
Proxy 清單的長度限制為 4,000 個字元,不包括 Null 終止符。
[in] ProxyBypassList
Null 終止的字串,其中包含可略過 Proxy 的選擇性主機名、IP 位址或兩者清單。 此清單是以空格分隔。 如需指定略過 Proxy 的詳細資訊,請參閱。
如果 ProxyUsage 的值是 BG_JOB_PROXY_USAGE_PRECONFIG、BG_JOB_PROXY_USAGE_NO_PROXY 或 BG_JOB_PROXY_USAGE_AUTODETECT,則此參數必須是 NULL。
Proxy 略過列表的長度限制為 4,000 個字元,不包括 Null 終止符。
傳回值
這個方法會傳回下列 HRESULT 值,以及其他值。
傳回碼 | Description |
---|---|
|
已成功指定 Proxy。 |
|
ProxyUsage 的值未定義於BG_JOB_PROXY_USAGE列舉中。 |
|
pProxyList 緩衝區不能超過 32 KB。 |
|
pProxyBypassList 不能超過 32 KB。 |
|
作業的狀態不能 BG_JOB_STATE_CANCELLED 或 BG_JOB_STATE_ACKNOWLEDGED。 |
|
如果 ProxyUsageBG_JOB_PROXY_USAGE_OVERRIDE,pProxyList 參數不能是 NULL。 |
備註
您提供的 Proxy 資訊會在執行時間進行驗證。 如果 Proxy 資訊無效,作業會輸入 具有BG_E_INVALID_PROXY_INFO 錯誤碼 的BG_JOB_STATE_ERROR 狀態。
如果您的服務以 LocalSystem 身分執行,您應該使用 SetProxySettings 方法來明確指定帳戶的 Proxy 或 Proxy 略過清單,並將 ProxyUsage 設定為 BG_JOB_PROXY_USAGE_OVERRIDE。 如需搭配 BITS 使用系統帳戶的詳細資訊,請參閱 服務帳戶和 BITS。
BITS 無法辨識使用 Proxycfg.exe 檔案所設定的 Proxy 設定。
將 Proxy 指定為:
“[protocol=][protocol”://“]server[”:“port]”
有效的通訊協議為 HTTP 和 HTTPS。 Proxy 清單可以包含用來存取 Proxy 的埠號碼。 例如,若要列出 HTTP Proxy,有效的字串是 「HTTP=HTTP://http_proxy_name:80」,其中 http_proxy_name 是 Proxy 伺服器的名稱,而 80 是您必須用來存取 Proxy 的埠號碼。 如果 Proxy 使用該通訊協定的預設埠號碼,您可以省略埠號碼。 如果 Proxy 名稱本身列出,您可以使用它做為任何沒有指定 Proxy 之通訊協定的預設 Proxy。 例如,「HTTP=HTTP://http_proxy other_proxy」 會針對任何 HTTP 作業使用 http_proxy,而 HTTPS 通訊協定則會使用名為 other_proxy 的 Proxy。
您可以在 Proxy 略過清單中列出本機已知的主機名或因特網通訊協定 (IP) 位址。 此名稱可以包含通配符,例如 “”,導致應用程式略過符合指定模式之位址的 Proxy 伺服器,例如 “.microsoft.com” 或 “.org”。通配符必須是名稱中最左邊的字元。例如,“aaa”。不支援。 您可以指定本機<>宏,以指出會略過所有本機內部網路網站。 本機內部網路網站會被視為名稱中不包含句點的所有伺服器。
如果應用程式未指定 Proxy 使用量,BITS 會使用使用者的 Internet Explorer Proxy 設定。 如果應用程式在互動式使用者的內容中提交作業,但當以 LocalSystem 執行的服務提交作業時,此預設行為通常有效。 您可以指定 LocalSystem 的 Internet Explorer Proxy 設定;不過,當發生問題時,很難偵測這些設定。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP |
最低支援的伺服器 | Windows Server 2003 |
目標平台 | Windows |
標頭 | bits.h |
程式庫 | Bits.lib |
Dll | QmgrPrxy.dll |