共用方式為


RoOriginateErrorW 函式 (roerrorapi.h)

向附加偵錯工具報告錯誤和資訊字串。

語法

BOOL RoOriginateErrorW(
  [in] HRESULT error,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

參數

[in] error

類型: HRESULT

與錯誤條件相關聯的錯誤碼。 如果 錯誤 是成功的程式碼,例如 S_OK,則函式沒有任何作用並傳回 FALSE。 當未發生任何錯誤時,此行為會啟用呼叫函式,而不會造成不必要的錯誤訊息。

[in] cchMax

類型: UINT

訊息中的字元數上限,不包括終止的 NUL字元。 如果值為 0,則字串會讀取到第一個 NUL 字元或 512 個字元,但每一個字元都較少。 如果 cchMax 大於 512,則會忽略 512 之後的所有字元。

[in] message

類型: PCWSTR

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

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

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

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

訊息字串應當地語系化。

傳回值

類型: BOOL

傳回碼 描述
TRUE
已成功回報錯誤訊息。
FALSE
訊息Null 或指向空字串,或 錯誤 為成功碼。

備註

使用 RoOriginateErrorW 函式向偵錯工具報告錯誤狀況和對應的訊息。 此函式不會執行記錄或事件追蹤。

藉由引發結構化例外狀況,錯誤會與偵錯工具通訊。 附加偵錯工具會攔截此例外狀況,而例外狀況參數同時包含錯誤和 訊息 字串。 偵錯工具可能會向使用者顯示這些參數。

根據偵錯工具的目前組態, RoOriginateErrorW 函式可能會導致例外狀況的月臺上的偵錯工具停止執行。

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

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

需求

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

另請參閱

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW