RoTransformError 函数 (roerrorapi.h)

向附加的调试器报告修改后的错误和信息字符串。

语法

BOOL RoTransformError(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] HSTRING message
);

参数

[in] oldError

类型: HRESULT

与错误条件关联的原始错误代码。

[in] newError

类型: HRESULT

要与错误条件关联的其他错误代码。 如果 oldErrornewError 相同,或者两者都是成功代码(如 S_OK),则函数无效并返回 FALSE

[in] message

类型: HSTRING

一个信息性字符串,可帮助开发人员更正报告的错误条件。 最大长度为 512 个字符,包括尾随 null 字符;较长的字符串将被截断。

如果字符串为空,则函数成功,但不报告错误信息。 建议始终提供信息性字符串。

如果 消息NULL,则该函数成功,并在 Winerror.h 中报告泛型字符串(如果可用),或者报告与E_FAIL关联的泛型字符串。

尽管 消息 字符串是 HSTRING,但 RoTransformError 函数不支持嵌入的 null 字符,因此仅报告第一个 null 之前的字符。

返回值

类型: BOOL

返回代码 说明
TRUE
已成功报告错误消息。
FALSE
messageNULL 或指向空字符串,或者 oldErrornewError 相同,或者两者都是成功代码。

注解

使用 RoTransformError 函数替换现有错误条件的自定义错误代码。 例如,如果当前错误条件 E_FAIL,则可以替换更具体的错误代码(如 E_FILENOTFOUND),并将转换后的错误报告给附加的调试器。

否则,RoTransformError 函数的行为与 RoTransformErrorW 函数的行为相同。

如果 UseSetErrorInfo 标志是通过调用 RoSetErrorReportingFlags 函数设置的,并且调用线程已在 COM 中初始化,则函数将创建支持 IRestrictedErrorInfo 的相应错误对象,并通过调用 SetErrorInfo 将其与 COM 通道相关联。 如果线程尚未初始化到 COM 中,调用仍将成功且没有错误,但错误不会与 COM 通道相关联。

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 roerrorapi.h

另请参阅

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW