次の方法で共有


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 値と他の値を返します。

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

GetReplyData メソッドは、応答データが 1 MB を超えた場合にBG_E_TOO_LARGEを返します (pSize には応答データのサイズが含まれます)。 応答が 1 MB を超える場合に応答を取得するには、 IBackgroundCopyJob2::GetReplyFileName メソッドを呼び出してファイル名を取得します。 次に、ファイルを開き、応答データを直接読み取る。

例示

GetReplyData メソッドを使用する例については、「Upload-Reply ジョブからの応答の取得」を参照してください。

Requirements

Requirement 価値
サポートされる最小クライアント Windows Vista
サポートされている最小のサーバー Windows Server 2003
ターゲット プラットフォーム ウィンドウズ
Header bits1_5.h (Bits.h を含む)
Library Bits.lib
DLL BitsPrx2.dll
再頒布可能 Windows XP の BITS 1.5

こちらも参照ください

IBackgroundCopyJob2::GetReplyFileName

IBackgroundCopyJob2::SetReplyFileName