Bonjour,
Le problème dont je vais vous parler doit être côté C++ et non Java JNI.
Nous tentons d'intercepter des évènements windows via les hooks, et de remonter ces évènements à Java via JNI.
Nous arrivons bien à détecter les évènement grâce aux hooks. Pour communiquer avec Java, nous disposons d'un pointeur vers la JVM Java, le problème, c'est que ce pointeur vers la JVM n'est pas valide dans les fonctions de callback (j'ignore pourquoi) bien que nous l'ayons au préalable copié dans une variable globale depuis une fonction normale. Nous n'avons pas ce problème avec un type entier par exemple, ce problème ne survient qu'avec les pointeurs à priori...
Avez vous une idée du problème ? Cela doit sans doute être dû à une subtilité des fonctions de callback ?
Comment contourner le problème ? Nous avons juste besoin de copier ce pointeur depuis une fonction non callback pour y avoir accès dans une fonction de callback justement.
Merci d'avance de votre aide précieuse :-)
Partager