将转换的错误和信息性字符串报告给附加的调试器。
Syntax
BOOL RoTransformErrorW(
[in] HRESULT oldError,
[in] HRESULT newError,
[in] UINT cchMax,
[in] PCWSTR message
);
参数
[in] oldError
类型:HRESULT
与错误条件关联的原始错误代码。
[in] newError
类型:HRESULT
要与错误条件关联的自定义错误代码。 如果 oldError 和 newError 相同,或者两者都是成功代码(如 S_OK),则函数不起作用并返回 FALSE。
[in] cchMax
类型: UINT
消息中的最大字符数,不包括终止 null 字符。 如果值为 0,则字符串将读取到第一个 null 字符或 512 个字符,以较小者为准。 如果 cchMax 大于 512,则忽略 512 后的所有字符。
[in] message
类型:PCWSTR
一个信息性字符串,可帮助开发人员更正报告的错误条件。 最大长度为 512 个字符,包括尾随 null 字符;较长的字符串将被截断。
如果字符串为空,则函数成功,但不会报告错误信息。 建议始终提供信息性字符串。
如果 消息 为 NULL,则函数成功并报告 Winerror.h 中的泛型字符串(如果可用)或与E_FAIL关联的泛型字符串。
此函数不支持嵌入的 null 字符,因此仅报告第一个 null 之前的字符。
返回值
类型: BOOL
| 返回代码 | Description |
|---|---|
|
已成功报告错误消息。 |
|
消息 为 NULL 或指向空字符串,或者 oldError 和 newError 相同,或两者都是成功代码。 |
注解
使用 RoTransformErrorW 函数替换现有错误条件的自定义错误代码。 例如,如果当前错误条件 E_FAIL,则可以替换更具体的错误代码,例如 E_FILENOTFOUND 并将转换后的错误报告给附加的调试器。
RoTransformErrorW 函数的行为与其他 RoOriginateErrorW 函数的行为相同。
如果 UseSetErrorInfo 标志是通过调用 RoSetErrorReportingFlags 函数设置的,并且调用线程已在 COM 中初始化,该函数将创建一个适当的错误对象,该对象支持 IRestrictedErrorInfo ,并通过调用 SetErrorInfo 将其与 COM 通道相关联。 如果线程尚未初始化到 COM 中,调用仍将成功,且不会出错,但该错误不会与 COM 通道关联。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
| 支持的最低服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
| 目标平台 | Windows操作系统 |
| Header | roerrorapi.h |
| Library | mincore.lib |