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 値と他の値を返します。
リターン コード | 説明 |
---|---|
|
応答データが正常に取得されました。 |
|
応答データが最大 1 MB のバッファー サイズを超えています。 ppBuffer パラメーターは NULL に設定され、pSize には応答データのサイズが含まれています。 |
|
応答データを取得するには、ジョブの状態を BG_JOB_STATE_TRANSFERREDする必要があります。 |
|
このメソッドは、 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 |