RoTransformErrorW 函式 (roerrorapi.h)
向附加調試程式報告已轉換的錯誤和資訊字串。
語法
BOOL RoTransformErrorW(
[in] HRESULT oldError,
[in] HRESULT newError,
[in] UINT cchMax,
[in] PCWSTR message
);
參數
[in] oldError
類型: HRESULT
與錯誤狀況相關聯的原始錯誤碼。
[in] newError
類型: HRESULT
要與錯誤狀況產生關聯的自定義錯誤碼。 如果 oldError 和 newError 相同,或兩者皆為成功碼,例如 S_OK,則函式沒有任何作用並傳回 FALSE。
[in] cchMax
類型: UINT
訊息中的最大字元數,不包括終止的 Null 字元。 如果值為 0,則字串會讀取為第一個 Null 字元或 512 個字元,以較少的字元為準。 如果 cchMax 大於 512,則會忽略 512 之後的所有字元。
[in] message
類型: PCWSTR
資訊字串,可協助開發人員更正回報的錯誤狀況。 長度上限為 512 個字元,包括尾端 Null 字元;會截斷較長的字串。
如果字串是空的,函式會成功,但不會報告任何錯誤資訊。 建議您一律提供資訊字串。
如果 message 為 NULL,函式會成功並報告 Winerror.h 中的泛型字串,如果有的話,或與 E_FAIL相關聯的泛型字串。
此函式不支援內嵌的 Null 字元,因此只會報告第一個 Null 之前的字元。
傳回值
類型: BOOL
傳回碼 | Description |
---|---|
|
已成功報告錯誤訊息。 |
|
訊息 為 NULL 或指向空字串,或 oldError 和 newError 相同,或兩者皆為成功碼。 |
備註
使用 RoTransformErrorW 函式來取代現有錯誤狀況的自定義錯誤碼。 例如,如果目前的錯誤狀況 E_FAIL,您可以替代更特定的錯誤碼,例如 E_FILENOTFOUND ,並將轉換的錯誤回報給附加調試程式。
RoTransformErrorW 函式的行為與 RoOriginateErrorW 函式的行為相同。
如果 UseSetErrorInfo 旗標是藉由呼叫 RoSetErrorReportingFlags 函式來設定,而且呼叫線程已在 COM 中初始化,則函式會建立適當的錯誤物件,以支援 IRestrictedErrorInfo ,並藉由呼叫 SetErrorInfo 將它與 COM 通道產生關聯。 如果線程尚未初始化為 COM,呼叫仍會成功且沒有任何錯誤,但錯誤不會與 COM 通道相關聯。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | roerrorapi.h |