Compartilhar via


Como COM+ modifica valores de retorno

COM+ nunca altera o valor de retorno de um HRESULT que indica falha, como E_UNEXPECTED ou E_FAIL. No entanto, quando um objeto usando a funcionalidade COM+ retorna um valor HRESULT indicando êxito (como S_OK, S_FALSE ou NOERROR), COM+ às vezes converte o HRESULT em um código de erro COM+ antes de retornar ao chamador.

Por exemplo, quando um aplicativo retorna S_OK depois de chamar IObjectContext::SetComplete, se o objeto for a raiz de uma transação que não confirma, o HRESULT será convertido em CONTEXT_E_ABORTED.

Quando COM+ converte um valor HRESULT , ele limpa todos os parâmetros de saída do método. As referências retornadas são liberadas e os valores dos ponteiros de objeto retornados são definidos como NULL.

Política de isolamento de falhas e failfast

Localizando a origem de um erro

Interpretando códigos de erro

Estratégias para lidar com erros no COM+

Solução de problemas