エラー処理にマクロを使用する

COM では、 HRESULT 値の操作を容易にするマクロが多数定義されています。

エラー処理マクロについては、次の表で説明します。

マクロ 説明
MAKE_HRESULT
HRESULT を構成する重大度ビット、機能コード、およびエラー コードを指定して HRESULT を返します。
注: S_OK検証の MAKE_HRESULT を呼び出すと、パフォーマンスが低下します。 正常な結果を得るには、 MAKE_HRESULT を定期的に使用しないでください。
MAKE_SCODE
SCODE を構成する重大度ビット、機能コード、およびエラー コードを指定して、 SCODE を返します。
HRESULT_CODE
HRESULT のエラー コード部分を抽出します。
HRESULT_FACILITY
HRESULT のファシリティ コードを抽出します。
HRESULT_SEVERITY
HRESULT の重大度ビットを抽出します。
SCODE_CODE
SCODE のエラー コード部分を抽出します。
SCODE_FACILITY
SCODE のファシリティ コードを抽出します。
SCODE_SEVERITY
SCODE の重大度フィールドを抽出します。
SUCCEEDED
SCODE または HRESULT の重大度ビットをテストします。 重大度が 0 の場合は TRUE を返し、1 の場合は FALSE を返します。
FAILED
SCODE または HRESULT の重大度ビットをテストします。 重大度が 1 の場合は TRUE を返し、0 の場合は FALSE を返します。
IS_ERROR
状態値に関するエラーの汎用テストを提供します。
HRESULT_FROM_WIN32
システム エラー コードHRESULT 値にマップします。
HRESULT_FROM_NT
NT ステータス値を HRESULT 値にマッピングします。

COM でのエラー処理