RoTransformErrorW 函数 (roerrorapi.h)

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

语法

BOOL RoTransformErrorW(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

参数

[in] oldError

类型: HRESULT

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

[in] newError

类型: HRESULT

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

[in] cchMax

类型: UINT

消息中的最大字符数,不包括终止 null 字符。 如果值为 0,则将字符串读取为前一个空字符或 512 个字符,以较小者为准。 如果 cchMax 大于 512,则忽略 512 之后的所有字符。

[in] message

类型: PCWSTR

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

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

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

此函数不支持嵌入的 null 字符,因此仅报告第一个 null 之前的字符。

返回值

类型: BOOL

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

注解

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

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

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

注意 这不是 RoTransformErrorW 函数的 ANSI 版本。 消息字符串必须是 Unicode。
 

要求

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

另请参阅

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError