使用宏處理錯誤
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 的嚴重性欄位。 |
成功 |
測試 SCODE 或 HRESULT 的嚴重性位;如果嚴重性為零,則會傳回 TRUE;如果嚴重性為零,則傳回 FALSE。 |
失敗 |
測試 SCODE 或 HRESULT 的嚴重性位;如果嚴重性為 1,則傳回 TRUE;如果嚴重性為零,則會傳回 FALSE。 |
IS_ERROR |
針對任何狀態值上的錯誤提供一般測試。 |
HRESULT_FROM_WIN32 |
地圖 系統錯誤碼至 HRESULT 值。 |
HRESULT_FROM_NT |
地圖 NT 狀態值至HRESULT 值。 |