IBackgroundCopyJob::Complete メソッド

ジョブを終了し、転送されたファイルをクライアントに保存します。

構文

HRESULT Complete();

パラメーター

このメソッドにはパラメーターはありません。

戻り値

このメソッドは、次の HRESULT 値を 返します。 メソッドは、転送されたファイルの一時コピーの名前を指定された名前に変更することに関連するエラーを返すこともできます。

リターン コード 説明
S_OK
すべてのファイルが正常に転送されました。
DO_E_INVALID_STATE
ダウンロードの場合、ジョブの状態をBG_JOB_STATE_CANCELLEDまたはBG_JOB_STATE_ACKNOWLEDGEDすることはできません。
アップロードの場合、ジョブの状態をBG_JOB_STATE_TRANSFERREDする必要があります。

解説

ジョブの状態が BG_JOB_STATE_TRANSFERRED場合、すべてのファイルが正常に転送されました。 ジョブの状態をチェックするには、IBackgroundCopyJob::GetState メソッドを呼び出します。 IBackgroundCopyCallback インターフェイスを実装して、すべてのファイルがクライアントに転送されたときに通知を受け取ることもできます。

配信の最適化では、30 日未満のジョブのみが保持されます。 古いジョブはすべて削除されます。 配信の最適化では、JobInactivityTimeout グループ ポリシーはサポートされていません。

ダウンロード ジョブの場合は、転送プロセス中にいつでも Complete メソッドを呼び出すことができます。ただし、このメソッドを呼び出す前にクライアントに正常に転送されたファイルのみが保存されます。 たとえば、配信の最適化が 5 つのファイルの 3 番目の処理中に Complete メソッドを呼び出すと、最初の 2 つのファイルのみが保存されます。 転送されたファイルを確認するには、IBackgroundCopyFile::GetProgress メソッドを呼び出し、BytesTransferred メンバーをBG_FILE_PROGRESS構造体の BytesTotal メンバーと比較します。

アップロード ジョブの場合は、ジョブの状態がBG_JOB_STATE_TRANSFERREDされている場合にのみ Complete メソッドを呼び出すことができます。

ファイルの所有者は、呼び出しを行ったユーザーです。 たとえば、管理者が他のユーザーのジョブを完了した場合、管理者はジョブの所有者ではないファイルを所有します。

要件

要件
サポートされている最小のクライアント
Windows 10、バージョン 1709 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server バージョン 1709 [デスクトップ アプリのみ]
ヘッダー
Deliveryoptimization.h
IDL
DeliveryOptimization.idl
ライブラリ
Dosvc.lib
[DLL]
Dosvc.dll
IID
IID_IBackgroundCopyJobは 37668D37-507E-4160-9316-26306D150B12 として定義されています

関連項目

IBackgroundCopyJob

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::GetState