次の方法で共有


IBackgroundCopyCallback::JobError メソッド

配信の最適化では、ジョブの状態が BG_JOB_STATE_ERROR に変わると、 JobError メソッドの実装が呼び出されます。

構文

HRESULT JobError(
  [in] IBackgroundCopyJob   *pJob,
  [in] IBackgroundCopyError *pError
);

パラメーター

pJob [in]

エラーが発生する前に転送されたバイト数やファイル数など、ジョブ関連の情報が含まれます。 また、ジョブを再開および取り消すメソッドも含まれています。 pJob を解放しないでください。配信の最適化は、JobError メソッドが返されたときにインターフェイスを解放します。

pError [in]

致命的なエラーが発生した時点で処理されているファイルやエラーの説明などのエラー情報が含まれます。 pError を解放しないでください。配信の最適化は、JobError メソッドが返されたときにインターフェイスを解放します。

戻り値

このメソッドは 、S_OKを返す必要があります。それ以外の場合、配信の最適化は 、S_OK が返されるまで、このメソッドを呼び出し続けます。 パフォーマンス上の理由から、 S_OK 以外の値を返す回数を数回に制限する必要があります。 エラー コードを返す代わりに、常に S_OK を返し、エラーを内部的に処理することを検討してください。 このメソッドが呼び出される間隔は任意です。

注釈

エラーの原因を特定したら、次のいずれかのオプションを実行します。

  • ジョブを取り消すには、 IBackgroundCopyJob::Cancel メソッドを呼び出します。
  • エラーが発生する前に正常に転送されたジョブの部分を受け入れるには、 IBackgroundCopyJob::Complete メソッドを呼び出します。 このオプションは、ジョブのアップロードには適用されません。アップロード ジョブの一部を完了することはできません。
  • ジョブの処理を完了するには、問題を解決してから、 IBackgroundCopyJob::Resume メソッドを呼び出します。

一時的なエラーでは 、JobError メソッドの呼び出しは生成されません。

配信の最適化は、ジョブが HTTP 403 エラーに達した場合はBG_ERROR_CONTEXT_REMOTE_FILEを返します。それ以外BG_ERROR_CONTEXT_NONE。

要件

要件
サポートされている最小のクライアント
Windows 10、バージョン 1709 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server バージョン 1709 [デスクトップ アプリのみ]
Header
Deliveryoptimization.h
IDL
DeliveryOptimization.idl
ライブラリ
Dosvc.lib
[DLL]
Dosvc.dll
IID
IID_IBackgroundCopyCallbackは 97EA99C7-0186-4AD4-8DF9-C5B4E0ED6B22 として定義されています

こちらもご覧ください

IBackgroundCopyCallback

IBackgroundCopyError

IBackgroundCopyJob

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::Resume