从服务器应用程序检索回复数据的内存中副本。 仅当作业的类型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 |
|---|---|
|
已成功检索回复数据。 |
|
答复数据超过最大 1 MB 缓冲区大小。 ppBuffer 参数设置为 NULL,pSize 包含答复数据的大小。 |
|
若要检索回复数据,作业的状态必须 BG_JOB_STATE_TRANSFERRED。 |
|
此方法不适用于类型 为BG_JOB_TYPE_DOWNLOAD 或 BG_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 |