WsWriteBody 函式 (webservices.h)
在訊息本文中寫入值。 這是協助程式函式,可將值串行化為訊息的 XML 寫入器。 訊息狀態必須設定為 WS_MESSAGE_STATE_WRITING。 此函式不會造成任何狀態轉換。
語法
HRESULT WsWriteBody(
[in] WS_MESSAGE *message,
[in] const WS_ELEMENT_DESCRIPTION *bodyDescription,
[in] WS_WRITE_OPTION writeOption,
const void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
參數
[in] message
要寫入之 Message 物件的指標。 指標必須參考有效的 WS_MESSAGE 物件。
[in] bodyDescription
描述如何寫入值的信息指標。
[in] writeOption
判斷值是否為必要值,以及值配置方式。
注意 如需詳細資訊 ,請參閱WS_WRITE_OPTION 。
value
要寫入之值的 void 指標。
[in] valueSize
要寫入之值的位元組大小。 如果值為 NULL ,則大小應為 0。
[in, optional] error
WS_ERROR 物件的指標,如果函式失敗,應該儲存錯誤的其他資訊。
傳回值
此函式可以傳回其中一個值。
傳回碼 | Description |
---|---|
|
輸入數據的格式不正確,或沒有預期的值。 |
|
記憶體不足。 |
|
一或多個引數無效。 |
|
此函式可能會傳回上述未列出的其他錯誤。 |
備註
根據所提供的 WS_ELEMENT_DESCRIPTION 內容,此函式支援下列案例:
- 撰寫單一專案。 在此情況下, WS_ELEMENT_DESCRIPTION 的 elementLocalName 和 elementNs 欄位應該設定為要寫入之專案的本機名稱和命名空間,而類型和類型描述代表要串行化之值的型別。 如果使用 WS_FAULT_TYPE 或 WS_ENDPOINT_ADDRESS_TYPE,則不需要指定本機名稱、命名空間或類型描述, (它們會根據訊息) 的信封/尋址版本適當地預設。
- 將多個元素寫入為單一值。 在此情況下, 應該將WS_ELEMENT_DESCRIPTION 的 elementLocalName 和 elementNs 欄位設定為 NULL,並指定 WS_STRUCT_TYPE 和 WS_STRUCT_DESCRIPTION 。 在此情況下,要串行化之結構值的每個欄位都應該對應至要在本文內寫入的元素 () 。
- 將多個元素寫入為多個值。 只要多次呼叫 函式即可完成撰寫多個相異值。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | webservices.h |
程式庫 | WebServices.lib |
Dll | WebServices.dll |