共用方式為


RoTransformErrorW 函式 (roerrorapi.h)

向附加調試程式報告已轉換的錯誤和資訊字串。

語法

BOOL RoTransformErrorW(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

參數

[in] oldError

類型: HRESULT

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

[in] newError

類型: HRESULT

要與錯誤狀況產生關聯的自定義錯誤碼。 如果 oldErrornewError 相同,或兩者皆為成功碼,例如 S_OK,則函式沒有任何作用並傳回 FALSE

[in] cchMax

類型: UINT

訊息中的最大字元數,不包括終止的 Null 字元。 如果值為 0,則字串會讀取為第一個 Null 字元或 512 個字元,以較少的字元為準。 如果 cchMax 大於 512,則會忽略 512 之後的所有字元。

[in] message

類型: PCWSTR

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

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

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

此函式不支援內嵌的 Null 字元,因此只會報告第一個 Null 之前的字元。

傳回值

類型: BOOL

傳回碼 Description
TRUE
已成功報告錯誤訊息。
FALSE
訊息NULL 或指向空字串,或 oldErrornewError 相同,或兩者皆為成功碼。

備註

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

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

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

注意 這不是 RoTransformErrorW 函式的 ANSI 版本。 訊息字串必須是 Unicode。
 

規格需求

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

另請參閱

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError