Bonjour,

J'essaie d'accéder à une fonction d'une dll via JNA. Le problème c'est que dans cette fonction, les 4 derniers paramètres sont des paramètres de sortie. Le truc c'est que je ne sais pas comment les récupérer.

Voici l’entête de la méthode en C:
unsigned short Lec_IntroductionMstCPS ( unsigned short usNoSession,
short sTempsAttente,
char tcCodeCivilite[2],
char szNomPatronymique[27],
short * psEtatCarte,
unsigned short * pusCodeErreur );
j'ai ça dans mon interface JNA:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public short Lec_IntroductionMstCPS ( NativeLong usNoSession, short sTempsAttente, PointerByReference tcCodeCivilite, PointerByReference szNomPatronymique, ShortByReference psEtatCarte, NativeLongByReference pusCodeErreur );
Puis j'appelle la méthode comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
PointerByReference tcCodeCivilite = new PointerByReference();
		PointerByReference szNomPatronymique = new PointerByReference();
		ShortByReference psEtatCarte = new ShortByReference();
		NativeLongByReference pusCodeErreur = new NativeLongByReference();
 
		retour = wrapperVitale.Lec_IntroductionMstCPS(numeroSessionCps, (short)0, tcCodeCivilite, szNomPatronymique, psEtatCarte, pusCodeErreur);
 
		Pointer codeCivilite = tcCodeCivilite.getValue();
		Pointer nom = szNomPatronymique.getValue();
		short etatCarte = psEtatCarte.getValue();
		NativeLong erreur = pusCodeErreur.getValue();
		return retour;
Je récupère bien tout mais les variables codeCivilite, nom et etatCarte sont remplies avec des données louches (native@0x32434f44 contenant une données peer avec pour valeur un long). Moi je veux juste récupérer un string... Comment faire??