RoTransformErrorW 函数(roerrorapi.h)

将转换的错误和信息性字符串报告给附加的调试器。

Syntax

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,则字符串将读取到第一个 null 字符或 512 个字符,以较小者为准。 如果 cchMax 大于 512,则忽略 512 后的所有字符。

[in] message

类型:PCWSTR

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

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

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

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

返回值

类型: BOOL

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

注解

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

RoTransformErrorW 函数的行为与其他 RoOriginateErrorW 函数的行为相同。

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

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

要求

Requirement 价值
最低支持的客户端 Windows 8 [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows操作系统
Header roerrorapi.h
Library mincore.lib

另请参阅

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError