WsWriteEnvelopeStart 函式 (webservices.h)
寫入訊息的開頭,包括訊息的目前標頭集,並準備寫入本文專案。
此函式是專為將訊息寫入通道以外的目的地所設計。 若要將訊息寫入通道,請使用 WsWriteMessageStart。
語法
HRESULT WsWriteEnvelopeStart(
[in] WS_MESSAGE *message,
[in] WS_XML_WRITER *writer,
[in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
[in, optional] void *doneCallbackState,
[in, optional] WS_ERROR *error
);
參數
[in] message
要寫入之 Message 物件的指標。 指標必須參考有效的 WS_MESSAGE 物件。
[in] writer
要寫入 Message 的 XML 寫入器 物件的指標。 Message 物件會在後續呼叫中使用寫入器來寫入訊息。 呼叫端必須讓寫入器保持有效,直到呼叫 WsResetMessage 或 WsFreeMessage 為止。
WS_MESSAGE_DONE_CALLBACK參數可用來判斷WS_XML_WRITER不再使用中。
[in, optional] doneCallback
釋放或重設訊息時叫用的回呼函式。 這個回呼可用來指出此訊息不再使用 WS_XML_WRITER 物件。 如果此函式失敗,則不會呼叫回呼。 如果函式成功,則只會叫用回呼一次。
[in, optional] doneCallbackState
將傳遞給指定回呼之使用者定義狀態的 void 指標。 此參數可以是 NULL。
[in, optional] error
WS_ERROR 物件的指標,如果函式失敗,應該儲存錯誤的其他資訊。
傳回值
此函式可以傳回下列其中一個值。
傳回碼 | Description |
---|---|
|
輸入數據不是預期的格式,或沒有預期的值。 |
|
記憶體不足。 |
|
一或多個引數無效。 |
|
此函式可能會傳回上面未列出的其他錯誤。 |
備註
訊息的開頭,包括存在於訊息中的目前標頭集,都會寫入寫入器。
訊息狀態必須設定為 WS_MESSAGE_STATE_INITIALIZED。 成功時,訊息狀態會轉換為 WS_MESSAGE_STATE_WRITING。
失敗狀態轉換不會發生。
若要撰寫訊息本文的專案,請使用 WsWriteBody。 若要直接寫入訊息的寫入器,請取得 讀取器,並將WS_MESSAGE_PROPERTY_ID 設定為 WS_MESSAGE_PROPERTY_BODY_WRITER 屬性。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | webservices.h |
程式庫 | WebServices.lib |
Dll | WebServices.dll |