E uma função que retorna esse tipo de dado pra mim:
TTABSOCK __stdcall mt_connectlist(void);
A função acima está dentro de uma DLL.
Eu estou tentando criar essa STRUCT no Java usando JNA, mas não estou conseguindo. O meu programa dá um erro e fecha quando tento executar essa função nativa.
Segue abaixo a minha implementação para a Struct em Java/JNA:
Não sei se ajuda no meu problema, mas eu tenho aqui um exemplo em Delphi:
//Declaração do tipotypeTTABSOCK=packedrecordTSOCK:array[0..255]ofDWORD;end;//Declaração da funçãofunctionmyfunction:TTABSOCK;far;stdcall;external'minhaDll.dll';
Já tentei fazer parecido com isso no Java e tbem não funcionou.
Obrigada
J
juliocbq
Eliangela, um DWORD dependendo da arquitetura do sistema possui 32 bits não sinalizados ou 64(em arquiteturas amd64). Então você pode mapea-lo com um int(32) ou long(64) em java.
O DWORD abaixo deve estar fazendo a máquina virtual quebrar.
Se a máquina for de 64 bits você precisa de um long(que possui 64 bits)
Você pode mapear dword como int ou long sem problemas. Mas qual depende da arquitetura.
eliangela
Olá, Julio!
Tentei com long, int e DWORD e mesmo assim não funcionou.. :(