IBackgroundCopyCallback::JobError 方法 (bits.h)
当作业的状态更改为BG_JOB_STATE_ERROR时,BITS 调用 JobError 方法的实现。
语法
HRESULT JobError(
[in] IBackgroundCopyJob *pJob,
[in] IBackgroundCopyError *pError
);
参数
[in] pJob
包含与作业相关的信息,例如在发生错误之前传输的字节数和文件数。 它还包含恢复和取消作业的方法。 不释放 pJob; 当 JobError 方法返回时,BITS 释放接口。
[in] pError
包含错误信息,例如发生严重错误时正在处理的文件和错误说明。 不释放 pError; 当 JobError 方法返回时,BITS 释放接口。
返回值
此方法应返回 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_SIZE_UNKNOWN BG_JOB_REPLY_PROGRESS 结构的 BytesTotal 成员,则回复失败。 否则,上传失败。
示例
请参阅 IBackgroundCopyCallback 接口的示例代码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP |
最低受支持的服务器 | Windows Server 2003 |
目标平台 | Windows |
标头 | bits.h |