RoTransformError 函式 (roerrorapi.h)
向附加調試程序報告已修改的錯誤和資訊字串。
語法
BOOL RoTransformError(
[in] HRESULT oldError,
[in] HRESULT newError,
[in] HSTRING message
);
參數
[in] oldError
類型: HRESULT
與錯誤狀況相關聯的原始錯誤碼。
[in] newError
類型: HRESULT
要與錯誤狀況產生關聯的不同錯誤碼。 如果 oldError 和 newError 相同,或兩者都是成功碼,例如 S_OK,則函式沒有作用並傳回 FALSE。
[in] message
類型: HSTRING
資訊字串,可協助開發人員更正回報的錯誤狀況。 最大長度為 512 個字元,包括尾端 Null 字元;會截斷較長的字串。
如果字串是空的,則函式會成功,但不會報告任何錯誤資訊。 建議您一律提供資訊字串。
如果 message 為 NULL,則函式會成功並報告 Winerror.h 中的泛型字串,如果有的話,或與E_FAIL相關聯的泛型字串。
雖然 訊息 字串是 HSTRING, 但 RoTransformError 函式不支援內嵌的 Null 字元,因此只會報告第一個 Null 之前的字元。
傳回值
類型: BOOL
傳回碼 | Description |
---|---|
|
已成功回報錯誤訊息。 |
|
message 為 NULL 或指向空字串,或 oldError 和 newError 相同,或兩者都是成功碼。 |
備註
使用 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 |