Dans le doute je repost ici mon sujet
Je n avais pas vu la section SDL

Bonjour

Je voudrais écrire par dessus sur une surface graphique géré par la SDL
L’idée étant d intercepter l'appel SDL_UnlockSurface pour avoir le pointeur de la surface et y ajouter mes infos
Pour ceci j'utilise le principe de dll proxy (substitution de la dll d origine pas la mienne )
Infos ici :

http://www.codeproject.com/Articles/...-automatically

Pour tester tout ca j ai fait un projet graphique et commencer a me faire la main sur la fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SDL_Delay(Uint32 time)
Fonction sans retour avec un seul argument type Uint32

Pour mon code de recup dans ma dll je test ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
extern "C" void __stdcall __E__33__(int ms)
	{
 
		typedef void (__stdcall *pS)(int);
		pS pps = (pS)p[33*4];
		pps(ms);
 
 
	}
ça donne un plantage systématique

si j’interviens sans essayer d 'utiliser les argument passer ca fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
extern "C" __declspec(naked) void __stdcall __E__33__()
	{
	VarTest = VarTest +1
        __asm
		{
		jmp p[33*4];
		}
	}
la a l execution la variable test incremente bien et le programme fonctionne sans probleme

Si quelqu un a une piste