共用方式為


RoTransformError 函式 (roerrorapi.h)

向附加調試程序報告已修改的錯誤和資訊字串。

語法

BOOL RoTransformError(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] HSTRING message
);

參數

[in] oldError

類型: HRESULT

與錯誤狀況相關聯的原始錯誤碼。

[in] newError

類型: HRESULT

要與錯誤狀況產生關聯的不同錯誤碼。 如果 oldErrornewError 相同,或兩者都是成功碼,例如 S_OK,則函式沒有作用並傳回 FALSE

[in] message

類型: HSTRING

資訊字串,可協助開發人員更正回報的錯誤狀況。 最大長度為 512 個字元,包括尾端 Null 字元;會截斷較長的字串。

如果字串是空的,則函式會成功,但不會報告任何錯誤資訊。 建議您一律提供資訊字串。

如果 messageNULL,則函式會成功並報告 Winerror.h 中的泛型字串,如果有的話,或與E_FAIL相關聯的泛型字串。

雖然 訊息 字串是 HSTRING但 RoTransformError 函式不支援內嵌的 Null 字元,因此只會報告第一個 Null 之前的字元。

傳回值

類型: BOOL

傳回碼 Description
TRUE
已成功回報錯誤訊息。
FALSE
messageNULL 或指向空字串,或 oldErrornewError 相同,或兩者都是成功碼。

備註

使用 RoTransformError 函式來取代現有錯誤狀況的自定義錯誤碼。 例如,如果目前的錯誤狀況 E_FAIL,您可以替代更具體的錯誤碼,例如 E_FILENOTFOUND,並將轉換的錯誤報告給附加調試程式。

RoTransformError 函式的行為與 RoTransformErrorW 函式的行為相同。

如果 UseSetErrorInfo 旗標是藉由呼叫 RoSetErrorReportingFlags 函式來設定,而且呼叫線程已在 COM 中初始化,則函式會建立支援 IRestrictedErrorInfo 的適當錯誤物件,並藉由呼叫 SetErrorInfo 將它與 COM 通道產生關聯。 如果線程尚未初始化為 COM,呼叫仍然會成功,但錯誤不會與 COM 通道相關聯。

規格需求

需求
最低支援的用戶端 Windows 8 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 roerrorapi.h

另請參閱

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW