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_PRECONFIGBG_JOB_PROXY_USAGE_NO_PROXYBG_JOB_PROXY_USAGE_AUTODETECT,則此參數必須是 NULL

Proxy 清單的長度限制為 4,000 個字元,不包括 Null 終止符。

[in] ProxyBypassList

Null 終止的字串,其中包含可略過 Proxy 的選擇性主機名、IP 位址或兩者清單。 此清單是以空格分隔。 如需指定略過 Proxy 的詳細資訊,請參閱。

如果 ProxyUsage 的值是 BG_JOB_PROXY_USAGE_PRECONFIGBG_JOB_PROXY_USAGE_NO_PROXYBG_JOB_PROXY_USAGE_AUTODETECT,則此參數必須是 NULL

Proxy 略過列表的長度限制為 4,000 個字元,不包括 Null 終止符。

傳回值

這個方法會傳回下列 HRESULT 值,以及其他值。

傳回碼 Description
S_OK
已成功指定 Proxy。
E_NOTIMPL
ProxyUsage 的值未定義於BG_JOB_PROXY_USAGE列舉中。
BG_E_PROXY_LIST_TOO_LARGE
pProxyList 緩衝區不能超過 32 KB。
BG_E_PROXY_BYPASS_LIST_TOO_LARGE
pProxyBypassList 不能超過 32 KB。
BG_E_INVALID_STATE
作業的狀態不能 BG_JOB_STATE_CANCELLEDBG_JOB_STATE_ACKNOWLEDGED
E_INVALIDARG
如果 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

另請參閱

BG_JOB_PROXY_USAGE

IBackgroundCopyJob::GetProxySettings