從伺服器應用程式擷取記憶體內的回覆資料副本。 只有當工作類型為 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 值及其他值。
| 回傳碼 | 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,GetReplyData 方法會回傳 BG_E_TOO_LARGE (pSize 包含回覆資料大小)。 若回覆超過 1 MB,請呼叫 IBackgroundCopyJob2::GetReplyFileName 方法來取得檔案名稱。 接著,打開檔案直接讀取回覆資料。
範例
關於使用 GetReplyData 方法的範例,請參見 從 Upload-Reply 工作中取得回應。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows Vista |
| 支援的最低伺服器 | Windows Server 2003 |
| 目標平臺 | 窗戶 |
| Header | bits1_5.h(包含 Bits.h) |
| Library | Bits.lib |
| DLL | BitsPrx2.dll |
| 可再發行 | Windows XP 上的 BITS 1.5 |