Jna + long + dll

Olá,

Estou tentando executar uma função de uma dll utilizando JNA e passando uma variável LONG como parametro, mas a função retorna valores errados. Alguém pode me ajudar ?

Abaixo trecho do código:

byte[] sDadosImagem2 = new byte[30];
long[] nNumero_juliano = new long[20];
int nData_Base = 0;
Libegb lib = (Libegb) Native.loadLibrary("libegb", Libegb.class);

public interface Libegb extends Library {
public void egb_win_converte_data_jul(long[] data_jul, int data_base, byte[] sDadosImagem3);


  nNumero_juliano[0] = Long.parseLong(aDadosImg[2]);

  nData_Base = Integer.parseInt(aDadosImg[23]);

  lib.egb_win_converte_data_jul(nNumero_juliano, nData_Base, sDadosImagem2);

  VLC_data_imagem = Native.toString(sDadosImagem2);

O long do C, C++, VB é o int do Java.

Se em C, C++ está especificado __int64 ou long long int, então pode-se usar o long do Java.

Se defino apenas como long dá um erro Cause Exception…
Por isso utilizei array long[]…

Como faço para atribuir valor ao array long ?

A maneira como fiz está correta ?
nNumero_juliano[0] = Long.parseLong(aDadosImg[2]);