Extraction des informations sur les erreurs

À l’aide des interfaces et fonctions de gestion des erreurs COM, vous pouvez récupérer les informations d’erreur comme suit :

  1. Vérifiez si la valeur retournée représente une erreur que l’objet est prêt à gérer.
  2. Appelez QueryInterface pour obtenir un pointeur vers l’interface ISupportErrorInfo . Appelez ensuite ISupportErrorInfo::InterfaceSupportsErrorInfo pour vérifier que l’erreur a été générée par l’objet qui l’a retournée et que l’objet d’erreur se rapporte à l’erreur actuelle et non à un appel précédent.
  3. Pour obtenir un pointeur vers l’objet d’erreur, appelez la fonction GetErrorInfo .
  4. Pour récupérer des informations à partir de l’objet d’erreur, utilisez les méthodes IErrorInfo .

Si l’objet n’est pas prêt à gérer l’erreur, mais doit propager les informations d’erreur plus loin dans la chaîne d’appels, il doit simplement passer la valeur de retour à son appelant. Étant donné que la fonction GetErrorInfo efface les informations d’erreur et transmet la propriété de l’objet d’erreur à l’appelant, la fonction doit être appelée uniquement par l’objet qui gère l’erreur.