Extraction des informations sur les erreurs

À l’aide des interfaces et des 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é déclenchée par l’objet qui l’a retourné 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 de l’objet Error, utilisez les méthodes IErrorInfo .

Si l’objet n’est pas préparé à gérer l’erreur mais doit propager les informations d’erreur plus loin dans la chaîne d’appel, il doit simplement transmettre 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.