共用方式為


WsCreateFaultFromError 函式 (webservices.h)

從指定的錯誤物件建構 WS_FAULT

語法

HRESULT WsCreateFaultFromError(
  [in]  WS_ERROR            *error,
  [in]  HRESULT             faultErrorCode,
  [in]  WS_FAULT_DISCLOSURE faultDisclosure,
  [in]  WS_HEAP             *heap,
  [out] WS_FAULT            *fault
);

參數

[in] error

WS_ERROR 結構的指標,表示要從中建構錯誤的錯誤物件。

[in] faultErrorCode

從失敗的函式傳回的 HRESULT 錯誤碼。 HRESULT 值不能是成功的程序代碼。

此錯誤碼絕不會直接包含在錯誤中,但如果錯誤物件不包含任何錯誤字串,則會做為建立錯誤字串的後援機制。

[in] faultDisclosure

WS_FAULT_DISCLOSURE 列舉,控制從錯誤物件複製到錯誤對象的資訊。

[in] heap

WS_HEAP 結構的指標,表示要從中配置傳回之錯誤物件的記憶體的堆積

[out] fault

代表傳回之錯誤物件的 WS_FAULT 結構的指標。 在呼叫 WsFreeHeap 或 WsResetHeap釋放指定的堆積資源之前,錯誤物件的欄位是不錯的。

傳回值

如果函式成功,它會傳回NO_ERROR;否則會傳回 HRESULT 錯誤碼。

傳回碼 Description
E_INVALIDARG
一或多個引數無效。
E_OUTOFMEMORY
記憶體不足,無法完成作業。
其他錯誤
此函式可能會傳回上面未列出的其他錯誤。

備註

如果 error 物件包含錯誤 (, 則WS_FAULT_ERROR_PROPERTY_ID的WS_FAULT_ERROR_PROPERTY_FAULT 值為非 NULL) ,則會選取該錯誤來建構傳回的錯誤。

如果 error 物件不包含錯誤 (WS_FAULT_ERROR_PROPERTY_FAULT 為 NULL) ,則具有泛型錯誤碼的泛型錯誤 (,且未選取原因文字) 來建構傳回的錯誤。

如果選取的錯誤不包含任何原因文字,則會根據 洩漏 參數的值來建構錯誤原因文字:

  • WS_FULL_FAULT_DISCLOSURE錯誤物件中的所有錯誤字串都會附加在一起,以形成原因文字。 如果沒有字串,則會使用與 errorCode 參數相關聯的字串。
  • WS_MINIMAL_FAULT_DISCLOSURE使用泛型錯誤字串。

根據預設,錯誤物件中任何語言相依資訊的語言是目前的用戶預設UI語言。 不過,您可以藉由設定 WS_ERROR_PROPERTY_LANGID 屬性來變更語言。 請參閱 WS_ERROR_PROPERTY_ID 列舉。

規格需求

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