IBitsTokenOptions::SetHelperTokenFlags 方法 (bits4_0.h)

设置与 BITS 传输作业关联的令牌的使用标志。

语法

HRESULT SetHelperTokenFlags(
  DWORD UsageFlags
);

参数

UsageFlags

指定用法标志。 此参数必须设置为以下值之一:

含义
BG_TOKEN_LOCAL_FILE
0x0001
如果指定了此标志,则使用帮助程序令牌
  • 打开上传作业的本地文件
  • 创建或重命名下载作业的临时文件
  • 创建或重命名上传-答复作业的回复文件
BG_TOKEN_NETWORK
0x0002
如果指定了此标志,则使用帮助程序令牌
  • 打开服务器消息块的远程文件 (SMB) 上传或下载作业
  • 响应 HTTP 服务器或代理对隐式 NTLM 或 Kerberos 凭据的质询
应用程序需要调用 IBackgroundCopyJob2::SetCredentials (...、NULL、NULL) ,以允许通过 HTTP 发送凭据。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

帮助程序令牌用法标志指定要使用帮助程序令牌的安全上下文访问哪些资源。 BITS 将使用作业所有者的安全上下文访问所有其他资源。 例如,使用作业所有者标识访问客户端证书。

如果指定了客户端证书,并且 BITS 作业的所有者不是 LocalSystem 帐户,将 UsageFlag 参数设置为 BG_TOKEN_NETWORK 将导致作业失败,并显示错误代码0x80072f9a (ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY) 。

旧实现实际上要求 BITS 用户具有管理员权限才能使用此方法设置帮助程序令牌使用标志。 从 Windows 10 版本 1607 开始,非管理员 BITS 用户可以使用此方法在自己拥有的 BITS 作业上设置非管理员帮助程序令牌使用标志。 此更改使非管理员 BITS 用户 ((例如 在 NetworkService 帐户) 下运行的后台下载器服务)能够有效地使用帮助程序令牌。

具体而言,该实现已更改,以允许没有管理员权限的用户设置帮助程序令牌使用标志, 只要调用方线程令牌的 SID 与 IBackgroundCopyJob::QueryInterface 调用期间作业所有者用户帐户的 SID 相同,并且当前设置的帮助程序令牌 ((如果任何) 没有管理员 SID (DOMAIN_ALIAS_RID_ADMINS) 启用)。

要求

要求
最低受支持的客户端 Windows 7
最低受支持的服务器 Windows Server 2008 R2
目标平台 Windows
标头 bits4_0.h
可再发行组件 在具有 SP1 的 Windows Vista、具有 SP2 的 Windows Vista 和具有 SP2 的 Windows Server 2008 上Windows Management Framework

另请参阅

IBitsTokenOptions