エラーが発生した後にエラー インターフェイスを取得します。
BITS は、ジョブの状態が BG_JOB_STATE_ERRORまたはBG_JOB_STATE_TRANSIENT_ERROR されたときにエラー オブジェクトを生成します。 IBackgroundCopyXXXX インターフェイス メソッドの呼び出しが失敗しても、サービスはエラー オブジェクトを作成しません。 エラー オブジェクトは、BITS がジョブのデータの転送を開始するまで (ジョブの状態が BG_JOB_STATE_TRANSFERRING に変わる)、またはアプリケーションが終了するまで使用できます。
構文
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
パラメーター
[out] ppError
エラー コード、エラーの説明、およびエラーが発生したコンテキストを提供するエラー インターフェイス。 このパラメーターは、エラーが発生した時点で転送されるファイルも識別します。 完了したら ppError を 解放します。
戻り値
このメソッドは、次の HRESULT 値と他の値を返します。
| リターン コード | Description |
|---|---|
|
エラー オブジェクトが正常に生成されました。 |
|
エラー インターフェイスは、エラーが発生した後 (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 場合、アップロードに失敗しました。 それ以外の場合、応答は失敗しました。
例示
「エラーの処理」トピックのコード例を参照してください。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows XP |
| サポートされている最小のサーバー | Windows Server 2003 |
| ターゲット プラットフォーム の | ウィンドウズ |
| Header | bits.h |
| Library | Bits.lib |
| DLL | QmgrPrxy.dll |