WsFlushBody 関数 (webservices.h)

書き込まれたすべての累積メッセージ本文データをフラッシュします。

メッセージが WsWriteBody または XML ライターを使用する場合、データはバッファーに蓄積されます。 WsFlushBody は、その後、実際の I/O を実行します。

WsFlushBody は、通常、チャネル I/O が WS_STREAMED_OUTPUT_TRANSFER_MODE に設定されている場合、または XML ライター セットを使用して WS_XML_WRITER_STREAM_OUTPUTを使用する場合に使用 されます

構文

HRESULT WsFlushBody(
  [in]           WS_MESSAGE             *message,
  [in]           ULONG                  minSize,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

パラメーター

[in] message

蓄積されたメッセージ本文データを含む WS_MESSAGE 構造体へのポインター。

[in] minSize

関数がデータフラッシュを実行するためにメッセージに存在する必要がある最小バイト数を指定します。

メモ メッセージに 含まれるが minSize より小さい場合、WSFlushBody は I/O フラッシュを行わずに終了します。 値を大きくすると、大きな値が累積されるまで I/O が実行されなくなります。 これは、I/O の実行時に大きなチャンクが確実に使用されるようにするために役立ちます。 また、 minSize に 0 の値が 1 バイト以上蓄積されたデータがあると仮定すると、それがフラッシュされることを保証します。
 

[in, optional] asyncContext

関数の非同期呼び出しに関する情報を含む 、WS_ASYNC_CONTEXT データ構造へのポインター。 NULL 値は、同期操作の要求を示します。

[in, optional] error

関数 が失敗 した場合にエラーに関する追加情報を格納する必要があるWS_ERROR オブジェクトへのポインター。

戻り値

この関数は、これらの値のいずれかを返すことができます。

リターン コード 説明
WS_S_ASYNC
非同期操作はまだ保留中です。
WS_E_INVALID_FORMAT
入力データの形式が正しくないか、予期した値が指定されていませんでした。
E_INVALIDARG
1 つ以上の引数が無効です。
E_OUTOFMEMORY
メモリ不足。
その他のエラー
この関数は、上記以外のエラーを返す場合があります。

注釈

この関数は、 WS_STREAMED_OUTPUT_TRANSFER_MODE が設定されていない場合、または xml ライターを使用する場合は、 WS_XML_WRITER_BUFFER_OUTPUT 設定されている場合は "no-op" です。

この関数は、メッセージの書き込みに使用される XML ライターの WsFlushWriter を呼び出すためのショートカットです。 WsFlushWriter を直接呼び出すことは、この関数を呼び出すことと同じです。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー webservices.h
Library WebServices.lib
[DLL] WebServices.dll