将作业的所有权更改为当前用户。
Syntax
HRESULT TakeOwnership();
返回值
此方法返回以下 HRESULT 值以及其他值。
| 返回代码 | Description |
|---|---|
|
作业所有权已成功更改。 |
|
作业的状态不能BG_JOB_STATE_CANCELLED或BG_JOB_STATE_ACKNOWLEDGED。 |
|
新所有者没有足够的权限访问客户端计算机上的临时文件。 BITS 使用所有者的安全权限创建临时文件。 |
|
本地文件的当前所有者网络驱动器映射不同于以前的所有者的网络驱动器映射。 |
|
用户没有管理员权限。 |
注解
若要获得作业的所有权,用户必须在客户端上拥有管理员权限。 在 Windows Vista 上,用户必须处于提升状态。 获取所有权后,在用户处于提升状态运行时,必须完成对作业的任何将来更新。 有关详细信息,请参阅 “用户”和“网络连接”。
管理员不必拥有其他用户作业的所有权,才能更改其属性或将文件添加到作业。 通常,如果用户没有足够的权限来完成作业,或者用户未登录并且管理员需要完成该作业,则管理员使用 TakeOwnership 方法。
更改作业所有权后,仅当新所有者登录到客户端时,才会处理该作业。 调用 IBackgroundCopyJob::GetOwner 方法以检索新所有者的 SID。
如果管理员在获取所有权后 取消 作业,则可能是孤立文件,因为管理员没有对文件的写入权限。 如果本地文件目标位于以前的用户的漫游配置文件中,则可能会出现这种情况。
TakeOwnership 方法从作业中删除凭据、证书、自定义标头和命令行通知(如果已设置)。
如果作业指定 事件通知,则会在调用 IBackgroundCopyJob::SetNotifyInterface 方法的用户的上下文中执行回调。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows XP |
| 支持的最低服务器 | Windows Server 2003 |
| 目标平台 | Windows操作系统 |
| Header | bits.h |
| Library | Bits.lib |
| DLL | QmgrPrxy.dll |