IBackgroundCopyJob::GetError 方法 (bits.h)

在发生错误后检索错误接口。

当作业的状态 BG_JOB_STATE_ERROR 或BG_JOB_STATE_TRANSIENT_ERROR时,BITS 将生成错误对象。 当调用 IBackgroundCopyXXXX 接口方法失败时,该服务不会创建错误对象。 错误对象在 BITS 开始传输作业(作业的状态更改为BG_JOB_STATE_TRANSFERRING)或应用程序退出之前可用。

Syntax

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

参数

[out] ppError

提供错误代码、错误说明以及发生错误的上下文的错误接口。 此参数还标识在发生错误时传输的文件。 完成后释放 ppError

返回值

此方法返回以下 HRESULT 值以及其他值。

返回代码 Description
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,则上传失败。 否则,答复失败。

例子

请参阅 “处理错误” 主题中的示例代码。

要求

Requirement 价值
最低支持的客户端 Windows XP
支持的最低服务器 Windows Server 2003
目标平台 Windows操作系统
Header bits.h
Library Bits.lib
DLL QmgrPrxy.dll

另请参阅

IBackgroundCopyCallback::JobError

IBackgroundCopyError

IBackgroundCopyJob::GetState