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

応答データを格納するバッファー。 サーバー アプリケーションが応答を返さなかった場合、このメソッドは ppBufferNULL に 設定します。 完了したら、 CoTaskMemFree 関数を呼び出して ppBuffer を 解放します。

[out] pLength

ppBuffer の応答データのサイズ (バイト単位)。

戻り値

このメソッドは、次の HRESULT 値と他の値を返します。

リターン コード 説明
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 メソッドを呼び出すまで、ファイルはクライアントで使用できません。

GetReplyData メソッドは、応答データが 1 MB を超えた場合に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

こちらもご覧ください

IBackgroundCopyJob2::GetReplyFileName

IBackgroundCopyJob2::SetReplyFileName