次の方法で共有


IBackgroundCopyJob::GetError メソッド (bits.h)

エラーが発生した後にエラー インターフェイスを取得します。

ジョブの状態が BG_JOB_STATE_ERRORまたはBG_JOB_STATE_TRANSIENT_ERROR されると、BITS によってエラー オブジェクトが生成されます。 IBackgroundCopyXXXX インターフェイス メソッドの呼び出しが失敗しても、サービスではエラー オブジェクトは作成されません。 エラー オブジェクトは、BITS がジョブのデータの転送を開始するまで (ジョブの状態がBG_JOB_STATE_TRANSFERRINGに変わる)、またはアプリケーションが終了するまで使用できます。

構文

HRESULT GetError(
  [out] IBackgroundCopyError **ppError
);

パラメーター

[out] ppError

エラー コード、エラーの説明、およびエラーが発生したコンテキストを提供するエラー インターフェイス。 このパラメーターは、エラーが発生した時点で転送されるファイルも識別します。 完了したら ppError を解放します。

戻り値

このメソッドは、次の HRESULT 値と他の値を返します。

リターン コード 説明
S_OK
エラー オブジェクトが正常に生成されました。
BG_E_ERROR_INFORMATION_UNAVAILABLE
エラー インターフェイスは、エラーが発生した後 (BG_JOB_STATE_ERRORまたはBG_JOB_STATE_TRANSIENT_ERROR)、BITS がデータの転送を開始する前 (BG_JOB_STATE_TRANSFERRING) にのみ使用できます。

注釈

ジョブは、致命的なエラーのエラー状態に置かれるか、一時的なエラーに対して進行状況なしのタイムアウト期間が経過した後に発生します (この期間は GetNoProgressTimeout メソッドから取得されます)。 ジョブがエラーになっているかどうかを判断するには、次のいずれかのオプションを使用します。

IBackgroundCopyError インターフェイスには、エラーの原因と転送プロセスを続行できるかどうかを判断するために使用する情報が含まれています。 エラーの原因を特定したら、次のいずれかのオプションを実行します。 ジョブが 90 日間エラー状態のままである場合 (既定の JobInactivityTimeout グループ ポリシー)、サービスはキューからジョブを削除し、クライアント上の一時ファイルを削除します。ジョブの削除は、正常にアップロードされたファイルには影響しません。

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

「エラーの処理」トピックのコード例を参照してください。

要件

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

こちらもご覧ください

IBackgroundCopyCallback::JobError

IBackgroundCopyError

IBackgroundCopyJob::GetState