向附加的调试器报告错误和信息字符串。
语法
BOOL RoOriginateError(
[in] HRESULT error,
[in] HSTRING message
);
参数
[in] error
类型: HRESULT
与错误条件关联的错误代码。 如果 error 是成功代码(如 S_OK),则函数不起作用,并返回 FALSE。 此行为允许在没有发生错误的情况下调用 函数,而不会引发不需要的错误消息。
[in] message
类型: HSTRING
一个信息性字符串,可帮助开发人员更正报告的错误条件。 最大长度为 512 个字符,包括尾随 NUL 字符;较长的字符串将被截断。
如果字符串为空,则函数成功,但不报告错误信息。 建议始终提供信息性字符串。
如果 message 为 NULL,则该函数将成功报告 Winerror.h 中的泛型字符串(如果可用),或报告与 E_FAIL 关联的泛型字符串。
此函数不支持嵌入 的 NUL 字符,因此仅报告第一个 NUL 之前的字符。
应本地化 消息 字符串。
返回值
类型: BOOL
| 返回代码 | 说明 |
|---|---|
|
已成功报告错误消息。 |
|
消息 为 NULL 或指向空字符串,或 错误 为成功代码。 |
注解
使用 RoOriginateError 函数向调试器报告错误条件和相应的消息。 此函数不执行日志记录或事件跟踪。
通过引发结构化异常,将错误传达给调试器。 此异常由附加的调试器捕获,异常参数同时包含错误和 消息 字符串。 调试器可能会向用户显示这些参数。
根据调试器的当前配置, RoOriginateError 函数可能会导致异常站点的调试器中的执行停止。
如果 UseSetErrorInfo 标志是通过调用 RoSetErrorReportingFlags 函数设置的,并且调用线程已在 COM 中初始化,则函数会创建支持 IRestrictedErrorInfo 的相应错误对象,并通过调用 SetErrorInfo 将其与 COM 通道相关联。 如果线程尚未初始化到 COM 中,则调用仍将成功且没有错误,但错误不会与 COM 通道相关联。
要求
| 要求 | 值 |
|---|---|
| 最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
| 最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
| 目标平台 | Windows |
| 标头 | roerrorapi.h |
| Library | RuntimeObject.lib |