IBackgroundCopyJob::SetProxySettings 方法 (bits.h)

指定用于传输文件的代理。

语法

HRESULT SetProxySettings(
  [in] BG_JOB_PROXY_USAGE ProxyUsage,
  [in] const WCHAR        *ProxyList,
  [in] const WCHAR        *ProxyBypassList
);

参数

[in] ProxyUsage

指定是使用用户的代理设置,不使用代理,还是使用应用程序指定的代理设置。 默认使用用户的代理设置, BG_JOB_PROXY_USAGE_PRECONFIG。 有关代理选项的列表,请参阅 BG_JOB_PROXY_USAGE 枚举。

[in] ProxyList

以 Null 结尾的字符串,其中包含用于传输文件的代理。 列表以空格分隔。 有关指定代理的详细信息,请参阅备注。

如果 ProxyUsage 的值BG_JOB_PROXY_USAGE_PRECONFIGBG_JOB_PROXY_USAGE_NO_PROXYBG_JOB_PROXY_USAGE_AUTODETECT,则此参数必须为 NULL

代理列表的长度限制为 4,000 个字符,不包括 null 终止符。

[in] ProxyBypassList

以 Null 结尾的字符串,其中包含可绕过代理的主机名和/或 IP 地址的可选列表。 列表以空格分隔。 有关指定绕过代理的详细信息,请参阅备注。

如果 ProxyUsage 的值BG_JOB_PROXY_USAGE_PRECONFIGBG_JOB_PROXY_USAGE_NO_PROXYBG_JOB_PROXY_USAGE_AUTODETECT,则此参数必须为 NULL

代理绕过列表的长度限制为 4,000 个字符,不包括 null 终止符。

返回值

此方法返回以下 HRESULT 值以及其他值。

返回代码 说明
S_OK
已成功指定代理。
E_NOTIMPL
BG_JOB_PROXY_USAGE 枚举中未定义 ProxyUsage 的值。
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
如果BG_JOB_PROXY_USAGE_OVERRIDE ProxyUsage则 pProxyList 参数不能为 NULL

注解

提供的代理信息在运行时进行验证。 如果代理信息无效,作业将进入 BG_JOB_STATE_ERROR 状态,并 显示BG_E_INVALID_PROXY_INFO 错误代码。

如果服务作为 LocalSystem 运行,则应使用 SetProxySettings 方法显式指定帐户的代理或代理绕过列表,并将 ProxyUsage 设置为 BG_JOB_PROXY_USAGE_OVERRIDE。 有关将系统帐户与 BITS 配合使用的详细信息,请参阅 服务帐户和 BITS

BITS 无法识别使用 Proxycfg.exe 文件设置的代理设置。

将代理指定为:

“[protocol=][protocol”://“]server[”:“port]”

有效的协议是 HTTP 和 HTTPS。 代理列表可以包含用于访问代理的端口号。 例如,若要列出 HTTP 代理,有效的字符串为“http=http://http_proxy_name:80”,其中 http_proxy_name 是代理服务器的名称,80 是访问代理时必须使用的端口号。 如果代理使用该协议的默认端口号,则可以省略端口号。 如果代理名称本身列出,则可以将其用作没有指定代理的任何协议的默认代理。 例如,“http=http://http_proxyother_proxy”对任何 HTTP 操作使用 http_proxy ,而 HTTPS 协议使用名为 other_proxy 的代理。

可以在代理绕过列表中列出本地已知主机名或 Internet 协议 (IP) 地址。 此名称可以包含通配符,例如“”,这些通配符会导致应用程序绕过符合指定模式的地址的代理服务器,例如“.microsoft.com”或“.org”。通配符必须是名称中最左侧的字符。例如,“aaa.”不支持 。 可以指定 <本地> 宏来指示绕过所有本地 Intranet 站点。 本地 Intranet 站点被视为名称中不包含句点的所有服务器。

如果应用程序未指定代理用法,则 BITS 使用用户的 Internet Explorer 代理设置。 如果应用程序在交互式用户的上下文中提交作业,则此默认行为通常有效,但如果作为 LocalSystem 运行的服务提交作业,则此默认行为可能不起作用。 可以为 LocalSystem 指定 Internet Explorer 代理设置;但是,当出现问题时,很难检测到这些设置。

要求

要求
最低受支持的客户端 Windows XP
最低受支持的服务器 Windows Server 2003
目标平台 Windows
标头 bits.h
Library Bits.lib
DLL QmgrPrxy.dll

另请参阅

BG_JOB_PROXY_USAGE

IBackgroundCopyJob::GetProxySettings