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 错误代码。

返回代码 说明
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
内存不足,无法完成操作。
其他错误
此函数可能会返回上面未列出的其他错误。

注解

如果错误对象包含错误 (即 ,WS_FAULT_ERROR_PROPERTY_ID 的WS_FAULT_ERROR_PROPERTY_FAULT值为非 NULL) ,则选择该错误来构造返回的错误。

如果错误对象不包含错误 (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
Library WebServices.lib
DLL WebServices.dll