IBackgroundCopyJob::TakeOwnership 方法 (bits.h)

將作業的擁有權變更為目前使用者。

Syntax

HRESULT TakeOwnership();

傳回值

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

傳回碼 Description
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
程式庫 Bits.lib
Dll QmgrPrxy.dll

另請參閱

IBackgroundCopyJob::GetOwner