WsSendFaultMessageForError 函式 (webservices.h)

傳送指定 WS_ERROR 物件的錯誤訊息。

語法

HRESULT WsSendFaultMessageForError(
  [in]           WS_CHANNEL             *channel,
  [in]           WS_MESSAGE             *replyMessage,
  [in]           WS_ERROR               *faultError,
  [in]           HRESULT                faultErrorCode,
  [in]           WS_FAULT_DISCLOSURE    faultDisclosure,
  [in]           WS_MESSAGE             *requestMessage,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

參數

[in] channel

要傳送訊息的通道。

[in] replyMessage

用來傳送回復訊息的訊息物件。

訊息物件應該位於 WS_MESSAGE_STATE_EMPTYWS_MESSAGE_STATE_INITIALIZED中。 如果已提供初始化的訊息,則應該已使用 WS_FAULT_MESSAGE初始化。

[in] faultError

要用來建構錯誤的錯誤物件。

[in] faultErrorCode

與錯誤相關聯的錯誤碼。 這不可以是成功的程式碼。

此錯誤碼永遠不會直接包含在錯誤訊息中,但會改用為後援機制,以在 WS_ERROR 物件不包含任何錯誤字串的情況下建立錯誤字串。

[in] faultDisclosure

控制錯誤訊息中包含多少錯誤資訊。

[in] requestMessage

要求訊息。 這是用來取得用來制訂回復訊息的相互關聯資訊。

訊息可以處於任何狀態,但 WS_MESSAGE_STATE_EMPTY

[in, optional] asyncContext

如何以非同步方式叫用函式的資訊,如果以同步方式叫用,則為 Null

[in, optional] error

指定函式失敗時應儲存其他錯誤資訊的位置。

傳回值

此函式可以傳回下列其中一個值。

傳回碼 描述
WS_S_ASYNC
非同步作業仍在擱置中。
WS_E_OPERATION_ABORTED
作業已中止。
WS_E_INVALID_OPERATION
由於 物件的目前狀態,不允許此作業。
WS_E_ENDPOINT_DISCONNECTED
與遠端端點的連線已終止。
WS_E_INVALID_FORMAT
輸入資料不是預期的格式,或沒有預期的值。
WS_E_OPERATION_TIMED_OUT
作業未在配置的時間內完成。
WS_E_QUOTA_EXCEEDED
超過配額。
WS_E_SECURITY_VERIFICATION_FAILURE
已接收資料的安全性驗證未成功。
WS_E_SECURITY_SYSTEM_FAILURE
Windows Web 服務架構中的安全性作業失敗。
E_OUTOFMEMORY
記憶體不足。
E_INVALIDARG
一或多個引數無效。
其他錯誤
此函式可能會傳回上面未列出的其他錯誤。

備註

在訊息本文中傳送的 WS_FAULT ,會使用 WsCreateFaultFromError所定義的相同規則來建構。

用於回復訊息 的WS_ACTION_HEADER 值會計算如下:

如果 error 物件包含用來描述 WS_FAULT_ERROR_PROPERTY_HEADER所指定錯誤的標頭,則會將標頭新增至錯誤訊息的標頭。

錯誤訊息會視 WS_ADDRESSING_VERSION包含相互關聯資訊。 如需與要求回復訊息相互關聯的詳細資訊,請參閱 通道層 概觀。

如果傳送沒有 WS_ERROR 物件的錯誤,請使用 WsSendReplyMessage

若要將自訂標頭新增至訊息,請先使用WS_FAULT_MESSAGE初始化WsInitializeMessage訊息,然後使用WsAddCustomHeader新增標頭,再呼叫此函式。

規格需求

   
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 webservices.h
程式庫 WebServices.lib
Dll WebServices.dll