Bonjour,
j'ai un problème pour passer un pointeur sur une instance ou l'adresse de l'instance à une fonction callback Windows.
Je m'explique
J'ai créé une classe Midi qui utilise des fonctions midi de Windows
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
le flag CALLBACK_FUNCTION dans midiInOpen, dit à Windows d'appeler la fonction callback qui est passée en 3eme paramètre (MidiIn_cb dans mon cas).
On peut donner le nom qu'on veut à la fonction callback, par contre elle doit avoir des paramètres précis.
La fonction callback attend les paramètres suivants:
1: le handle d'entrée Midi
2: la nature du message Midi
3: une valeur de notre choix (passée par midiInOpen)
4 et 5: les différentes valeurs du message Midi récupéré par Windows.
Cette fonction étant static elle ne reçoit donc pas de pointeur this.
Aussi, je n'arrive pas à voir comment je pourrais lui passer un pointeur sur l'instance ou l'adresse de l'instance qui l'a invoquée.
J'ai bien sur pensé au 4eme paramètre de midiInOpen (un DWORD de notre choix) qui est passé à la fonction callback (DWORD dwInstance) à chaque fois que celle-ci est appelée.
Mais comment caster un pointeur sur instance (void*) en DWORD ?
Si quelqu'un pouvait m'aider.
D'avance merci.
[Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]

 

 
		
		 
        

 
			
			


 
			 
   


 Passer un pointeur d'instance à une fonction membre static?
 Passer un pointeur d'instance à une fonction membre static?
				 Répondre avec citation
  Répondre avec citation
Partager