RoOriginateError 函数 (roerrorapi.h)

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

语法

BOOL RoOriginateError(
  [in] HRESULT error,
  [in] HSTRING message
);

参数

[in] error

类型: HRESULT

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

[in] message

类型: HSTRING

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

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

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

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

应本地化 消息 字符串。

返回值

类型: BOOL

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

注解

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

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

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

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

要求

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

另请参阅

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError