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
S_OK
已成功擷取回復數據。
BG_E_TOO_LARGE
回復數據超過 1 MB 緩衝區大小上限。 ppBuffer 參數設定為 NULL而 pSize 包含回復數據的大小。
BG_E_INVALID_STATE
若要擷取回復數據,作業的狀態必須 BG_JOB_STATE_TRANSFERRED
E_NOTIMPL
這個方法不會針對類型 為 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

另請參閱

IBackgroundCopyJob2::GetReplyFileName

IBackgroundCopyJob2::SetReplyFileName