Que signifie __stdcall ? [Résolu]

cs_Booster 235 Messages postés mercredi 30 octobre 2002Date d'inscription 6 octobre 2009 Dernière intervention - 9 sept. 2007 à 10:58 - Dernière réponse : cs_Booster 235 Messages postés mercredi 30 octobre 2002Date d'inscription 6 octobre 2009 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

5 réponses

racpp 1910 Messages postés vendredi 18 juin 2004Date d'inscription 14 novembre 2014 Dernière intervention - 9 sept. 2007 à 11:42
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de racpp
racpp 1910 Messages postés vendredi 18 juin 2004Date d'inscription 14 novembre 2014 Dernière intervention - 9 sept. 2007 à 11:45
+3
Utile
Voici un petit article à ce sujet: Conventions d'appel
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de racpp
cs_juju12 968 Messages postés samedi 3 avril 2004Date d'inscription 4 mars 2010 Dernière intervention - 9 sept. 2007 à 13:04
+3
Utile
C'est exactement ca.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_juju12
cs_Booster 235 Messages postés mercredi 30 octobre 2002Date d'inscription 6 octobre 2009 Dernière intervention - 9 sept. 2007 à 12:05
0
Utile
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 :)
Commenter la réponse de cs_Booster
cs_Booster 235 Messages postés mercredi 30 octobre 2002Date d'inscription 6 octobre 2009 Dernière intervention - 9 sept. 2007 à 14:33
0
Utile
Merci à tous les deux :)
Commenter la réponse de cs_Booster

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.