Recuperando informações de erro

Usando as interfaces e funções de tratamento de erros COM, você pode recuperar informações de erro da seguinte maneira:

  1. Verifique se o valor retornado representa um erro que o objeto está preparado para manipular.
  2. Chame QueryInterface para obter um ponteiro para a interface ISupportErrorInfo. Em seguida, chame ISupportErrorInfo::InterfaceSupportsErrorInfo para verificar se o erro foi gerado pelo objeto que o retornou e se o objeto de erro pertence ao erro atual e não a uma chamada anterior.
  3. Para obter um ponteiro para o objeto de erro, chame a função GetErrorInfo.
  4. Para recuperar informações do objeto de erro, use os métodos IErrorInfo.

Se o objeto não estiver preparado para lidar com o erro, mas precisar propagar as informações de erro mais abaixo na cadeia de chamadas, ele deve simplesmente passar o valor de retorno para seu chamador. Como a função GetErrorInfo limpa as informações de erro e passa a propriedade do objeto de erro para o chamador, a função deve ser chamada somente pelo objeto que manipula o erro.