Bonjour,
Je suis actuellement en train de porter un programme ADA de NT à XP.
Ce programme utilise entre autres la fonction système GetHostByName de la bibliothèque WinSock32 de Windows.
Or, je trouve une différence de comportement de cette fonction entre Windows NT et XP :
- Sous NT : quand le nom d'hôte que je donne à la fonction n'existe pas, elle me retourne NULL et le programme continue normalement.
- Sous XP : quand le nom d'hôte que je donne à la fonction n'existe pas, la fonction pête une erreur (fixe errno je présume) et mon programme ADA part dans le traitement d'exception.
Je voudrais savoir déjà pourquoi une telle différence de comportement ? Et surtout comment faire pour contourner ce problème afin de ne pas tomber dans le traitement d'exception de mon programme ADA : est-il possible de désactiver la levée d'erreur (fixation d'errno) au niveau de l'appel système GetHostByName ? Y a t-il sous XP une fonction qui fait la même chose et dont le comportement m'arrangerait dans mon cas ?...
Je vous remercie d'avance de vos réponses.
yelbied
Partager