Die Funktion in der dll sieht so aus:
wichtig ist, dass licInfo ein Array ist mit 4 Elementen.
In Java habe ich die Methode so deklariert:
Der methodenaufruf:
Die dll gibt ein Errorcode zurück, der aussagt, dass die Übergabeparameter falsch sind. Ich bin mir ziemlich sicher, dass es an dem letzten Parameter liegt.
Ich habe auch schon versucht direkt ein long[] zu übergeben oder einen Pointer, allerdings mich wenig erfolg.
Vielen Dank für Hilfe
C++:
int getInfo (
unsigned int Index,
unsigned int* Mask,
unsigned int* Serial,
unsigned __int64* licInfo);
wichtig ist, dass licInfo ein Array ist mit 4 Elementen.
In Java habe ich die Methode so deklariert:
Java:
int getInfo(int Index, IntByReference Mask,IntByReference Serial,Memory licInfo);
Der methodenaufruf:
Java:
int Index =0;
IntByReference Mask= null;
IntByReference Serial= null;
Memory LicInfo = new Memory(256);
int status =dll.INSTANCE.getInfo(Index, Mask, Serial,licInfo);
Die dll gibt ein Errorcode zurück, der aussagt, dass die Übergabeparameter falsch sind. Ich bin mir ziemlich sicher, dass es an dem letzten Parameter liegt.
Ich habe auch schon versucht direkt ein long[] zu übergeben oder einen Pointer, allerdings mich wenig erfolg.
Vielen Dank für Hilfe