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_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 |