Usando macros para tratamento de erros
COM define um número de macros que facilitam o trabalho com valores HRESULT .
As macros de tratamento de erros são descritas na tabela a seguir.
Macro | Descrição |
---|---|
MAKE_HRESULT |
Retorna um HRESULT dado o bit de gravidade, o código de recurso e o código de erro que compõem o HRESULT. Observação: chamar MAKE_HRESULT para verificação de S_OK acarreta uma penalidade de desempenho. Você não deve usar rotineiramente MAKE_HRESULT para obter resultados bem-sucedidos. |
MAKE_SCODE |
Retorna um SCODE dado o bit de gravidade, o código de recurso e o código de erro que compõem o SCODE. |
HRESULT_CODE |
Extrai a parte do código de erro do HRESULT. |
HRESULT_FACILITY |
Extrai o código de recurso do HRESULT. |
HRESULT_SEVERITY |
Extrai o bit de gravidade do HRESULT. |
SCODE_CODE |
Extrai a parte do código de erro do SCODE. |
SCODE_FACILITY |
Extrai o código de recurso do SCODE. |
SCODE_SEVERITY |
Extrai o campo de gravidade do SCODE. |
SUCCEEDED |
Testa o bit de severidade do SCODE ou HRESULT, retorna TRUE se a gravidade for zero e FALSE se for um. |
FAILED |
Testa o bit de gravidade do SCODE ou HRESULT, retorna TRUE se a gravidade for um e FALSE se for zero. |
IS_ERROR |
Fornece um teste genérico para erros em qualquer valor de status. |
HRESULT_FROM_WIN32 |
Mapeia um código de erro do sistema para um valor HRESULT. |
HRESULT_FROM_NT |
Mapeia um valor de status NT para um valor HRESULT . |