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 错误代码。
返回代码 | 说明 |
---|---|
|
一个或多个参数无效。 |
|
内存不足,无法完成操作。 |
|
此函数可能会返回上面未列出的其他错误。 |
注解
如果错误对象包含错误 (即 ,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 |