エラー処理にマクロを使用する
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 値にマッピングします。 |