IBackgroundCopyJob2::GetReplyData 方法(bits1_5.h)

从服务器应用程序检索回复数据的内存中副本。 仅当作业的类型BG_JOB_TYPE_UPLOAD_REPLY且其状态BG_JOB_STATE_TRANSFERRED时,才调用此方法。

Syntax

HRESULT GetReplyData(
  [in, out] byte   **ppBuffer,
  [out]     UINT64 *pLength
);

参数

[in, out] ppBuffer

用于包含答复数据的缓冲区。 如果服务器应用程序未返回回复,该方法会将 ppBuffer 设置为 NULL 。 完成后,调用 CoTaskMemFree 函数以释放 ppBuffer

[out] pLength

ppBuffer 中答复数据的大小(以字节为单位)。

返回值

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

返回代码 Description
S_OK
已成功检索回复数据。
BG_E_TOO_LARGE
答复数据超过最大 1 MB 缓冲区大小。 ppBuffer 参数设置为 NULL,pSize 包含答复数据的大小。
BG_E_INVALID_STATE
若要检索回复数据,作业的状态必须 BG_JOB_STATE_TRANSFERRED
E_NOTIMPL
此方法不适用于类型 为BG_JOB_TYPE_DOWNLOADBG_JOB_TYPE_UPLOAD的作业。

注解

GetReplyData 方法允许在调用 IBackgroundCopyJob::Complete 方法之前或之后读取回复数据。 但是,若要从回复文件读取回复数据,必须首先调用 Complete 方法;在调用 Complete 方法之前,该文件对客户端不可用。

如果答复数据超过 1 MB(pSize 包含答复数据的大小),GetReplyData 方法将返回BG_E_TOO_LARGE。 若要检索回复(如果超过 1 MB),请调用 IBackgroundCopyJob2::GetReplyFileName 方法以检索文件名。 然后,打开该文件并直接读取回复数据。

例子

有关使用 GetReplyData 方法的示例,请参阅 检索 Upload-Reply 作业中的回复

要求

Requirement 价值
最低支持的客户端 Windows Vista
支持的最低服务器 Windows Server 2003
目标平台 Windows操作系统
Header bits1_5.h (包括 Bits.h)
Library Bits.lib
DLL BitsPrx2.dll
可再发行组件 Windows XP 上的 BITS 1.5

另请参阅

IBackgroundCopyJob2::GetReplyFileName

IBackgroundCopyJob2::SetReplyFileName