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