向附加調試程序報告已修改的錯誤和資訊字串。
語法
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,函式會成功,並報告 Winerror.h 中的泛型字串 (如果有的話) 或與E_FAIL相關聯的泛型字串。
雖然 訊息 字串是 HSTRING,但 RoTransformError 函式不支援內嵌的 Null 字元,因此只會報告第一個 Null 之前的字元。
返回值
類型: 布爾值
| 回傳碼 | Description |
|---|---|
|
錯誤訊息已成功報告。 |
|
message 為 NULL 或指向空字串,或 oldError 和 newError 相同,或兩者都是成功碼。 |
備註
使用 RoTransformError 函式來取代現有的錯誤狀況的自訂錯誤碼。 例如,如果目前的錯誤狀況 E_FAIL,您可以取代更具體的錯誤碼,例如 E_FILENOTFOUND,並將轉換的錯誤報告給附加的偵錯工具。
RoTransformError 函式的行為與 RoTransformErrorW 函式相同。
如果呼叫 RoSetErrorReportingFlags 函式來設定 UseSetErrorInfo 旗標,而且呼叫執行緒已在 COM 中初始化,函式會建立支援 IRestrictedErrorInfo 的適當錯誤物件,並藉由呼叫 SetErrorInfo 將它與 COM 通道產生關聯。 如果執行緒尚未初始化為 COM,呼叫仍會成功且不會發生錯誤,但錯誤不會與 COM 通道相關聯。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 8 [傳統型應用程式 |UWP 應用程式] |
| 支援的最低伺服器 | Windows Server 2012 [傳統型應用程式 |UWP 應用程式] |
| 目標平臺 | 窗戶 |
| Header | roerrorapi.h |
| Library | mincore.lib |