IBackgroundCopyJob2::GetReplyData 方法 (bits1_5.h)

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

语法

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

参数

[in, out] ppBuffer

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

[out] pLength

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

返回值

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

返回代码 说明
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, 则 GetReplyData 方法返回 BG_E_TOO_LARGE (pSize 包含) 答复数据的大小。 若要检索超过 1 MB 的答复,请调用 IBackgroundCopyJob2::GetReplyFileName 方法来检索文件名。 然后,打开文件并直接读取回复数据。

示例

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

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2003
目标平台 Windows
标头 bits1_5.h (包括 Bits.h)
Library Bits.lib
DLL BitsPrx2.dll
可再发行组件 Windows XP 上的 BITS 1.5

另请参阅

IBackgroundCopyJob2::GetReplyFileName

IBackgroundCopyJob2::SetReplyFileName