WsReadEnvelopeStart 函式 (webservices.h)
讀取訊息的標頭,並準備讀取本文專案。 作業會從讀取器讀取下一個訊息的開頭,包括訊息的標頭。 此程式允許從通道以外的其他來源讀取訊息。 若要使用通道讀取訊息,請使用 WsReadMessageStart。
注意 成功時,標頭會儲存在訊息中,而且可以使用 WsGetHeader 或 WsGetCustomHeader等函式隨機擷取。
語法
HRESULT WsReadEnvelopeStart(
[in] WS_MESSAGE *message,
[in] WS_XML_READER *reader,
[in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
[in, optional] void *doneCallbackState,
[in, optional] WS_ERROR *error
);
參數
[in] message
要讀取之 Message 物件的指標。 指標必須參考有效的 WS_MESSAGE 物件。
[in] reader
讀取器的指標,其中包含要讀取的訊息。 Message 物件會使用目前和後續呼叫中的讀取器。
注意 函式呼叫端必須讓讀取器保持有效,直到呼叫 WsResetMessage 或 WsFreeMessage 為止。
WS_MESSAGE_DONE_CALLBACK參數可用來知道WS_XML_READER已不再使用。
WS_MESSAGE_DONE_CALLBACK參數可用來知道WS_XML_READER已不再使用。
[in, optional] doneCallback
識別回呼函式,以在訊息發行後起始目前作業的成功。
注意訊息是使用WsFreeMessage或WsResetMessage發行
[in, optional] doneCallbackState
可傳遞至 WS_MESSAGE_DONE_CALLBACK之使用者定義狀態的指標。 如果未使用回呼,此參數可能是 Null 。
[in, optional] error
WS_ERROR物件的指標,如果函式失敗,應該儲存錯誤的其他資訊。
傳回值
此函式可以傳回其中一個值。
傳回碼 | 描述 |
---|---|
|
輸入資料的格式不正確,或沒有預期的值。 |
|
記憶體不足。 |
|
一或多個引數無效。 |
|
此函式可能會傳回上述未列出的其他錯誤。 |
備註
訊息必須處於 WS_MESSAGE_STATE_EMPTY 狀態。 成功時,訊息狀態會設定為 WS_MESSAGE_STATE_READING。
若要讀取訊息本文的元素,請使用 WsReadBody。 若要直接從 XML 讀取器讀取,請取得將 訊息屬性識別碼 設定為 WS_MESSAGE_PROPERTY_BODY_READER的讀取器。
規格需求
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | webservices.h |
程式庫 | WebServices.lib |
Dll | WebServices.dll |