Recuperar información sobre errores

Con las funciones y interfaces de control de errores COM, puede recuperar la información de error de la siguiente manera:

  1. Compruebe si el valor devuelto representa un error que el objeto está preparado para controlar.
  2. Llame a QueryInterface para obtener un puntero a la interfaz ISupportErrorInfo . A continuación, llame a ISupportErrorInfo::InterfaceSupportsErrorInfo para comprobar que el objeto que lo devolvió y que el objeto de error pertenece al error actual y no a una llamada anterior.
  3. Para obtener un puntero al objeto de error, llame a la función GetErrorInfo .
  4. Para recuperar información del objeto de error, use los métodos IErrorInfo .

Si el objeto no está preparado para controlar el error, pero debe propagar la información de error más abajo de la cadena de llamadas, simplemente debe pasar el valor devuelto a su autor de la llamada. Dado que la función GetErrorInfo borra la información de error y pasa la propiedad del objeto de error al autor de la llamada, el objeto que controla el error solo debe llamar a la función.