次の方法で共有


IBackgroundCopyCallback::JobError メソッド (bits.h)

ジョブの状態が BG_JOB_STATE_ERROR に変わると、BITS は JobError メソッドの実装を呼び出します。

構文

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

パラメーター

[in] pJob

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

[in] pError

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

戻り値

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

このメソッドが失敗し、 IBackgroundCopyJob2::SetNotifyCmdLine メソッドを呼び出した場合、コマンド ラインが実行され、このメソッドは再度呼び出されないことに注意してください。

注釈

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

  • ジョブを取り消すには、 IBackgroundCopyJob::Cancel メソッドを呼び出します。 ファイルが正常にアップロードされた後にエラーが発生した場合、キャンセル要求はアップロード ジョブに影響しません。 ただし、ジョブの種類がBG_JOB_TYPE_UPLOAD_REPLYされ、アップロードが成功した場合、 Cancel メソッドを呼び出すと、応答データの要求が取り消されます。
  • エラーが発生する前に正常に転送されたジョブの部分を受け入れるには、 IBackgroundCopyJob::Complete メソッドを呼び出します。 このオプションは、ジョブのアップロードには適用されません。アップロード ジョブの一部を完了することはできません。
  • ジョブの処理を完了するには、問題を解決してから、 IBackgroundCopyJob::Resume メソッドを呼び出します。
ジョブが 90 日間エラー状態のままである場合 (既定の JobInactivityTimeout グループ ポリシー)、BITS はジョブを取り消し、関連する一時ファイルを削除します。ジョブの取り消しは、正常にアップロードされたファイルには影響しません。

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

アップロード応答ジョブのアップロード、応答、またはサーバー アプリケーションの部分が失敗したかどうかを確認するには、 IBackgroundCopyError::GetError メソッドを呼び出して、エラーが発生した コンテキスト を取得します。 コンテキストがBG_ERROR_CONTEXT_REMOTE_APPLICATION場合、サーバー アプリケーションは失敗しました。 アップロードと返信のコンテキストがBG_ERROR_CONTEXT_REMOTE_FILE。 BG_JOB_REPLY_PROGRESS構造体の BytesTotal メンバーが BG_SIZE_UNKNOWN されていない場合、応答は失敗しました。 それ以外の場合、アップロードは失敗しました。

メモ BITS では、ユーザーごとに最大 4 つの同時通知がサポートされます。 1 つ以上のアプリケーションでユーザーの 4 つの通知すべてが返されないようにブロックされている場合、同じユーザーとして実行されているアプリケーションは、1 つ以上のブロック通知が返されるまで通知を受信しません。 コールバックが他の通知をブロックする可能性を減らすには、実装を短くします。
 

IBackgroundCopyCallback インターフェイスのコード例を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP
サポートされている最小のサーバー Windows Server 2003
対象プラットフォーム Windows
ヘッダー bits.h

こちらもご覧ください

IBackgroundCopyCallback

IBackgroundCopyError

IBackgroundCopyJob

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::Resume