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

一个错误对象,它是跨进程的单元敏捷、进程内和按值封送。 如有必要,此对象应实现 ILanguageExceptionStackBackTraceILanguageExceptionTransform

返回值

返回代码 说明
TRUE
已成功报告错误消息。
FALSE
messageNULL 或指向空字符串,或 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

另请参阅

RoOriginateError