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 值以及其他值。
返回代码 | 说明 |
---|---|
|
已成功检索回复数据。 |
|
回复数据超过最大 1 MB 缓冲区大小。 ppBuffer 参数设置为 NULL,pSize 包含回复数据的大小。 |
|
若要检索回复数据,必须 BG_JOB_STATE_TRANSFERRED作业的状态。 |
|
对于 BG_JOB_TYPE_DOWNLOAD 或 BG_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 |