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 値にマッピングします。 |