WsFlushBody 函式 (webservices.h)

排清所有已寫入的累積訊息本文數據。

當訊息使用 WsWriteBody 或 XML 寫入器時,數據會在緩衝區中累積。 WsFlushBody 接著會執行實際的 I/O。

當通道 I/O 設定為 WS_STREAMED_OUTPUT_TRANSFER_MODE,或使用 XML 寫入器設定為使用 WS_XML_WRITER_STREAM_OUTPUT 時,通常會使用 WsFlushBody。

語法

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,可確保其會排清。
 

[in, optional] asyncContext

具有異步叫用函式相關信息 之WS_ASYNC_CONTEXT 數據結構的指標。 NULL 值表示同步作業的要求。

[in, optional] error

WS_ERROR 物件的指標,如果函式失敗,應該儲存錯誤的其他資訊。

傳回值

此函式可以傳回其中一個值。

傳回碼 Description
WS_S_ASYNC
異步操作仍然擱置中。
WS_E_INVALID_FORMAT
輸入數據的格式不正確,或沒有預期的值。
E_INVALIDARG
一或多個引數無效。
E_OUTOFMEMORY
記憶體不足。
其他錯誤
此函式可能會傳回上述未列出的其他錯誤。

備註

未設定WS_STREAMED_OUTPUT_TRANSFER_MODE,或使用具有WS_XML_WRITER_BUFFER_OUTPUT集的 XML 寫入器時,此函式是「無作業」。

此函式是呼叫用於寫入訊息之 XML 寫入器的 WsFlushWriter 的快捷方式。 直接呼叫 WsFlushWriter 相當於呼叫此函式。

規格需求

需求
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 webservices.h
程式庫 WebServices.lib
Dll WebServices.dll