次の方法で共有


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

関数が失敗した場合に追加のエラー情報を格納する場所を指定します。

戻り値

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

リターン コード 説明
E_INVALIDARG
1 つ以上の引数が無効です。
WS_S_ASYNC
非同期操作はまだ保留中です。

解説

ライターは 、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