WsFlushWriter 関数 (webservices.h)
十分なデータがバッファーに格納されている場合は、WS_XML_WRITER_STREAM_OUTPUTで指定されたコールバックを呼び出すようにライターに指示します。
構文
HRESULT WsFlushWriter(
[in] WS_XML_WRITER *writer,
[in] ULONG minSize,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
パラメーター
[in] writer
フラッシュするライター。
[in] minSize
コールバックを呼び出すためにバッファーに格納する必要がある最小バイト数を指定します。 このバイト数より少ないバイト数がバッファーに格納されている場合、 コールバック は呼び出されません。 これは、少量のデータを書き込むときに発生する i/o の数を最小限に抑えるために使用できます。
コールバックが呼び出されることを保証するには、0 を指定する必要があります。
[in, optional] asyncContext
関数を非同期で呼び出す方法に関する情報。同期的に呼び出す場合は NULL 。
[in, optional] error
関数が失敗した場合に追加のエラー情報を格納する場所を指定します。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
1 つ以上の引数が無効です。 |
|
非同期操作はまだ保留中です。 |
解説
ライターは 、WsFlushWriter が呼び出されるまですべてのデータをバッファーします。
必要に応じて、すべてのデータが出力されることを保証するために、WsFreeWriter の前に WsFlushWriter を呼び出す必要があります。
WS_ASYNC_CONTEXTを指定することで、バッファー内のデータは非同期的に書き込まれます。
ライターが WS_XML_WRITER_BUFFER_OUTPUT を使用している場合、この関数は操作不要です。
WsWriteStartElement が呼び出されていても、 要素がコミットされていない場合 (WsWriteStartElement を参照)、この要素はフラッシュされません。
WS_XML_WRITER_MTOM_ENCODINGを使用しているときにこの関数が呼び出され、ライターに開いている要素がない場合は、サポートする MIME パーツが生成されて出力されます。 これが発生すると、XML ドキュメントにさらに書き込もうとする API は 、WS_E_INVALID_OPERATIONを返します。 ( 「Windows Web サービスの戻り値」を参照してください)。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | webservices.h |
Library | WebServices.lib |
[DLL] | WebServices.dll |