Que signifie __stdcall ?

Résolu
cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009 - 9 sept. 2007 à 10:58
cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009 - 9 sept. 2007 à 14:33
Bonjour à tous,

Alors voilà j'aimerais savoir que signifie __stdcall ? (devant une fonction) Car j'ai passé 3 heures à essayer de résoudre un problème et je me suis aperçu par hazard que c'est par ce qu'il manquait __stdcall devant ma fonction :(

Pour info en réalité je fais un hook et je remplace la foncion de départ par la mienne, et il faut absolument que la fonction que je vais injecté est __stdcall devant .... Pouquoi ?

Merci d'avance de vos réponses.

5 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
9 sept. 2007 à 11:42
Salut,
__stdcall est une convention d'appel des fonctions. Les paramètres étant passés par la pile, son nettoyage se fait au sein de la fonction. Par défaut, le compilateur utilise la convention __cdecl. Ainsi, la pile doit être nettoyée dans le code qui appelle la fonction.
3
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
9 sept. 2007 à 11:45
Voici un petit article à ce sujet: Conventions d'appel
3
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
9 sept. 2007 à 13:04
C'est exactement ca.
3
cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009
9 sept. 2007 à 12:05
Ok je te remerci !


En fait, moi j'avais un énorme plantage lorsque je sortais de ma fonction qui était en Cdecl (par défaut). Mon erreur venait surement que la fonction qui m'appelait attendait que ma fonction vide la pile hors elle ne le fessait pas et du cou la pile était encore remplie des paramètres, ce qui posa problème !


Je te remerci !! ;)


PS : Si mon explication n'est pas plausible corrige moi :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009
9 sept. 2007 à 14:33
Merci à tous les deux :)
0
Rejoignez-nous