_com_raise_error
Específico da Microsoft
Lança um _com_error em resposta a uma falha.
void __stdcall _com_raise_error(
HRESULT hr,
IErrorInfo* perrinfo = 0
);
Parâmetros
hr
Informações de HRESULT.perrinfo
Objeto IErrorInfo.
Comentários
_com_raise_error, que é definido em comdef.h, pode ser substituído por uma versão gravada pelo usuário dos mesmos nome e protótipo. Isso poderia ser feito se você quisesse usar #import, mas não quisesse usar ao tratamento de exceções do C++. Nesse caso, uma versão do usuário de _com_raise_error pode decidir fazer um longjmp ou exibir uma caixa de mensagem e parar. No entanto, a versão do usuário não deve retornar, pois o código de suporte do compilador COM não espera que ela retorne.
Você também pode usar _set_com_error_handler para substituir a função padrão de tratamento de erros.
Por padrão, _com_raise_error é definido da seguinte forma:
void __stdcall _com_raise_error(HRESULT hr, IErrorInfo* perrinfo) {
throw _com_error(hr, perrinfo);
}
Requisitos
Header: comdef.h
Bib: se a opção do compilador “wchar_t is Native Type” está ativada, use comsuppw.lib ou comsuppwd.lib. Se “wchar_t is Native Type” estiver desativado, use comsupp.lib. Para obter mais informações, consulte /Zc:wchar_t (wchar_t é do tipo nativo).