RoOriginateLanguageException 函数 (roerrorapi.h)
向附加的调试器报告错误、信息性字符串和错误对象。
语法
BOOL RoOriginateLanguageException(
[in] HRESULT error,
[in, optional] HSTRING message,
[in] IUnknown *languageException
);
参数
[in] error
与错误条件关联的错误代码。 如果 error 是成功代码(如 S_OK),则函数不起作用,并返回 FALSE。 此行为允许在未发生错误的情况下调用函数,而不会引发不需要的错误消息。
[in, optional] message
一个信息性字符串,可帮助开发人员更正报告的错误条件。 最大长度为 512 个字符,包括尾随 NUL 字符;较长的字符串将被截断。
如果字符串为空,则函数成功,但不报告错误信息。 建议始终提供信息性字符串。
如果 消息 为 NULL,则该函数成功,并在 Winerror.h 中报告泛型字符串(如果可用),或者 报告与E_FAIL关联的泛型字符串。
此函数不支持嵌入 的 NUL 字符,因此仅报告第一个 NUL 之前的字符。
应本地化 消息 字符串。
[in] languageException
一个错误对象,它是跨进程的单元敏捷、进程内和按值封送。 如有必要,此对象应实现 ILanguageExceptionStackBackTrace 和 ILanguageExceptionTransform 。
返回值
返回代码 | 说明 |
---|---|
|
已成功报告错误消息。 |
|
message 为 NULL 或指向空字符串,或 error 是成功代码。 |
注解
RoOriginateLanguageException 函数的行为类似于 RoOriginateError,但采用另一个参数来存储有关错误的额外信息。 语言投影使用此函数将异常信息与 COM 错误信息一起存储。 语言投影需要创建一个 IUnknown 对象,该对象包含稍后重新创建异常所需的所有信息。
error 对象必须是单元敏捷、进程内和跨进程按值封送。 此限制的原因是,在检索错误信息时,源自错误对象的线程可能不再存在,例如,由于 CoUninitialize 调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | roerrorapi.h |
Library | RuntimeObject.lib |
DLL | ComBase.dll |