Using Macros for Error Handling
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
There are several macros for making it easier to work with HRESULT values.
There are two sets of macros that test for failure or success: HR_SUCCEEDED and HR_FAILED and SUCCEEDED and FAILED. SUCCEEDED is the same as HR_SUCCEEDED and FAILED is the same as HR_FAILED.
In this case, use the ResultFromScode macro to set the HRESULT variable to the corresponding HRESULT value for S_OK.
Commonly used macros are briefly described in the following table.
Macro |
Description |
---|---|
MAKE_HRESULT |
Constructs an HRESULT from its components. |
HR_SUCCEEDED |
Tests an HRESULT for a success or warning condition. |
HR_FAILED |
Tests an HRESULT for an error condition. |
HRESULT_CODE |
Extracts the error code part of the HRESULT. |
HRESULT_FACILITY |
Extracts the facility from the HRESULT. |
HRESULT_SEVERITY |
Extracts the severity bit from the SEVERITY. |
SUCCEEDED |
Tests an HRESULT for a success or warning condition. |
FAILED |
Tests an HRESULT for an error condition. |