Использование макросов для обработки ошибок
COM определяет ряд макросов, упрощающих работу со значениями HRESULT .
Макросы обработки ошибок описаны в следующей таблице.
Макрос | Description |
---|---|
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; возвращает значение TRUE , если серьезность равна одному и FALSE , если она равна нулю. |
IS_ERROR |
Предоставляет универсальный тест на наличие ошибок в любом значении состояния. |
HRESULT_FROM_WIN32 |
Карты системный код ошибки в значение HRESULT. |
HRESULT_FROM_NT |
Карты значение состояния NT в значение Значение HRESULT. |