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 値と他の値を返します。
リターン コード | 説明 |
---|---|
|
エラー オブジェクトが正常に生成されました。 |
|
エラー インターフェイスは、エラーが発生した後 (BG_JOB_STATE_ERRORまたはBG_JOB_STATE_TRANSIENT_ERROR)、BITS がデータの転送を開始する前 (BG_JOB_STATE_TRANSFERRING) にのみ使用できます。 |
注釈
ジョブは、致命的なエラーのエラー状態に置かれるか、一時的なエラーに対して進行状況なしのタイムアウト期間が経過した後に発生します (この期間は GetNoProgressTimeout メソッドから取得されます)。 ジョブがエラーになっているかどうかを判断するには、次のいずれかのオプションを使用します。
- ジョブの状態をポーリングするには、 IBackgroundCopyJob::GetState メソッドを 呼び出します。 状態がBG_JOB_STATE_ERROR場合、ジョブはエラーです。
- エラーが発生したときに通知を受信するには、 IBackgroundCopyCallback インターフェイス (具体的には JobError メソッド) を実装します。 次に、 IBackgroundCopyJob::SetNotifyInterface メソッドを呼び出してコールバックを登録し、 IBackgroundCopyJob::SetNotifyFlags メソッドを呼び出してBG_NOTIFY_JOB_ERROR フラグを設定します。
- ジョブを取り消すには、 IBackgroundCopyJob::Cancel メソッドを呼び出します。
- エラーが発生する前に正常に転送されたファイルを保存するには、 IBackgroundCopyJob::Complete メソッドを呼び出します。
- ジョブの処理を完了するには、問題を解決してから、 IBackgroundCopyJob::Resume メソッドを呼び出します。
アップロード/応答ジョブのアップロード、応答、またはサーバー アプリケーション部分が失敗したかどうかを確認するには、 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 |