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 メソッドを呼び出します。
一時的なエラーでは 、JobError メソッドの呼び出しは生成されません。
アップロード応答ジョブのアップロード、応答、またはサーバー アプリケーションの部分が失敗したかどうかを確認するには、 IBackgroundCopyError::GetError メソッドを呼び出して、エラーが発生した コンテキスト を取得します。 コンテキストがBG_ERROR_CONTEXT_REMOTE_APPLICATION場合、サーバー アプリケーションは失敗しました。 アップロードと返信のコンテキストがBG_ERROR_CONTEXT_REMOTE_FILE。 BG_JOB_REPLY_PROGRESS構造体の BytesTotal メンバーが BG_SIZE_UNKNOWN されていない場合、応答は失敗しました。 それ以外の場合、アップロードは失敗しました。
例
IBackgroundCopyCallback インターフェイスのコード例を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP |
サポートされている最小のサーバー | Windows Server 2003 |
対象プラットフォーム | Windows |
ヘッダー | bits.h |