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 值,以及其他值。
傳回碼 | 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 作業擷取回復。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2003 |
目標平台 | Windows |
標頭 | bits1_5.h (包含 Bits.h) |
程式庫 | Bits.lib |
Dll | BitsPrx2.dll |
可轉散發套件 | Windows XP 上的 BITS 1.5 |