WsFillBody 函式 (webservices.h)
確保訊息中有足夠數量的位元組可供讀取。 應用程式必須指定足以包含要讀取之下一個 XML 建構的位元元組數目。
注意 使用 WsReadBody 或 XML Readerof 訊息來讀取訊息本文之前,會呼叫此函式。
此函式是呼叫用來寫入訊息之 XML 讀取 器的 WsFillReader 的快捷方式。 直接呼叫 WsFillReader 相當於呼叫此函式。
語法
HRESULT WsFillBody(
[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 函式的值,則不會執行任何動作。
注意minSize 的值代表預期的 XML 編碼格式大小。 這可能會因編碼方式而有所不同,以及實際 XML 的結構方式。 此函式的一般用法是選取編碼或 XML 結構的預期上限位元組計數,以確保讀取預期的數據。
[in, optional] asyncContext
具有異步叫用函式相關信息 之WS_ASYNC_CONTEXT 數據結構的指標。 NULL 值表示同步作業的要求。
[in, optional] error
WS_ERROR 物件的指標,如果函式失敗,應該儲存錯誤的其他資訊。
傳回值
此函式可以傳回其中一個值。
傳回碼 | 描述 |
---|---|
|
已成功收到訊息的開始。 |
|
異步操作仍然擱置中。 |
|
輸入數據的格式不正確,或沒有預期的值。 |
|
一或多個引數無效。 |
|
記憶體不足。 |
|
此函式可能會傳回上述未列出的其他錯誤。 |
備註
撰寫訊息本文時,通常會使用此函式,並將數據流模式設定為 WS_STREAMED_OUTPUT_TRANSFER_MODE,或在串流模式中使用 XML 讀取器時。
當撰寫訊息本文且 未設定WS_STREAMED_OUTPUT_TRANSFER_MODE ,或 XML 讀取器的模式設定為 WS_XML_READER_BUFFER_INPUT 時,此函式是「無作業」。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | webservices.h |
程式庫 | WebServices.lib |
Dll | WebServices.dll |