共用方式為


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

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

[in] message

類型: PCWSTR

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

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

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

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

返回值

類型: 布爾值

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

備註

使用 RoTransformErrorW 函數來取代現有錯誤條件的自訂錯誤碼。 例如,如果目前的錯誤狀況 E_FAIL,您可以取代更具體的錯誤碼,例如 E_FILENOTFOUND ,並將轉換的錯誤報告給附加的偵錯工具。

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

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

便條 這不是 RoTransformErrorW 函數的 ANSI 版本。 訊息字串必須是 Unicode。
 

需求

Requirement 價值觀
最低支援的用戶端 Windows 8 [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2012 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
Header roerrorapi.h
Library mincore.lib

另請參閱

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError