IBackgroundCopyJob::TakeOwnership 方法 (bits.h)

将作业的所有权更改为当前用户。

语法

HRESULT TakeOwnership();

返回值

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

返回代码 说明
S_OK
已成功更改作业所有权。
BG_E_INVALID_STATE
作业的状态不能BG_JOB_STATE_CANCELLED或BG_JOB_STATE_ACKNOWLEDGED。
BG_E_NEW_OWNER_NO_FILE_ACCESS
新所有者对客户端计算机上的临时文件的访问权限不足。 BITS 使用所有者的安全权限创建临时文件。
BG_E_NEW_OWNER_DIFF_MAPPING
本地文件的当前所有者的网络驱动器映射不同于以前的所有者的网络驱动器映射。
E_ACCESSDENIED
用户没有管理员权限。

注解

若要获取作业的所有权,用户必须在客户端上具有管理员权限。 在 Windows Vista 上,用户必须在提升状态下运行。 获取所有权后,必须在用户处于提升状态运行时对作业进行任何将来的更新。 有关详细信息,请参阅用户和网络Connections

管理员无需获取其他用户作业的所有权即可更改其属性或将文件添加到作业。 通常,如果用户没有足够的权限来完成作业,或者用户未登录且管理员需要完成作业,则管理员使用 TakeOwnership 方法。

更改作业所有权后,仅当新所有者登录到客户端时,才会处理该作业。 调用 IBackgroundCopyJob::GetOwner 方法以检索新所有者的 SID。

如果管理员在获得所有权后 取消 作业,则这些文件可能是孤立的,因为管理员没有对文件的写入权限。 如果本地文件目标位于上一用户的漫游配置文件中,则可能会发生这种情况。

TakeOwnership 方法从作业中删除凭据证书自定义标头命令行通知(如果已设置)。

如果作业指定 了事件通知,则回调将在调用 IBackgroundCopyJob::SetNotifyInterface 方法的用户的上下文中执行。

要求

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

另请参阅

IBackgroundCopyJob::GetOwner