Share via


使用宏處理錯誤

COM 會定義一些宏,讓您更輕鬆地使用 HRESULT 值。

下表說明錯誤處理宏。

Macro 描述
MAKE_HRESULT
根據構成 HRESULT 的嚴重性位、設施碼和錯誤碼,傳回 HRESULT
注意: 呼叫 MAKE_HRESULT 進行S_OK驗證會降低效能。 您不應該定期使用 MAKE_HRESULT 來取得成功的結果。
MAKE_SCODE
傳回 SCODE,指定組成 SCODE 的嚴重性位、設施碼和錯誤碼。
HRESULT_CODE
擷取 HRESULT 的錯誤碼部分
HRESULT_FACILITY
擷取 HRESULT 的設施程式代碼
HRESULT_SEVERITY
擷取 HRESULT嚴重性位。
SCODE_CODE
擷取 SCODE 的錯誤碼部分
SCODE_FACILITY
擷取 SCODE 的設施程式代碼
SCODE_SEVERITY
擷取 SCODE嚴重性欄位。
成功
測試 SCODEHRESULT嚴重性位;如果嚴重性為零,則會傳回 TRUE;如果嚴重性為零,則傳回 FALSE
失敗
測試 SCODEHRESULT嚴重性位;如果嚴重性為 1,則傳回 TRUE;如果嚴重性為零,則會傳回 FALSE
IS_ERROR
針對任何狀態值上的錯誤提供一般測試。
HRESULT_FROM_WIN32
地圖 系統錯誤碼HRESULT 值。
HRESULT_FROM_NT
地圖 NT 狀態值至HRESULT 值。

COM 中的錯誤處理