RoOriginateErrorW 函数 (roerrorapi.h)

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

语法

BOOL RoOriginateErrorW(
  [in] HRESULT error,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

parameters

[in] error

类型: HRESULT

与错误条件关联的错误代码。 如果 error 是成功代码(如 S_OK),则函数无效并返回 FALSE。 此行为允许在未发生错误的情况下调用函数,而不会引发不需要的错误消息。

[in] cchMax

类型: UINT

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

[in] message

类型: PCWSTR

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

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

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

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

应本地化 消息 字符串。

返回值

类型: BOOL

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

注解

使用 RoOriginateErrorW 函数向调试器报告错误条件和相应的消息。 此函数不执行日志记录或事件跟踪。

通过引发结构化异常将错误传达给调试器。 此异常由附加的调试器捕获,异常参数同时包含错误和 消息 字符串。 调试器可能会向用户显示这些参数。

根据调试器的当前配置, RoOriginateErrorW 函数可能会导致异常站点的调试器中的执行停止。

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

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

要求

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

请参阅

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW