Jni

Galera estou com uma duvida de como utlizar JNI, vi varios tutoriais e video aulas, mas sempre se gera o codigo java, depois o .h, e em seguida a dll, no meu caso eu possuo uma dll desenvolvida por terceiros, ela foi desenvolvida 100% C, e nos tutorias que li todas foram desenvolvidas voltadas para JNI, por exemplo nestes tutorias todos as variavel utilizada eram do mesmo tipo do java, mas nesta dll de terceiros tem por exemplo uma passagem de parametro desta forma.

HBBPRINTER WINAPI BBPrinterOpen(DWORD dwReserved)

Então minhas duvidas são: é possivel conseguir utilizar uma dll de terceiros em uma aplicação java? E se sim, como tratar estes tipos de dados que só existe na DLL, usando-a no java?

Obrigado!

Boa tarde,

Olha, você precisa saber quantos bits esses tipos suportam.

Ex:

Um DWORD é um tipo inteiro de 32 bits, não sinalizado, em c++,

Existe um problema ae. Java não suporta tipos não sinalizados.

Se você quer simplesmente ter o valor dos bits, pode usar um int, que também possui 32 bits, ou se deseja manipulá-los, pode usar um long.

E no caso do retorno que parece ser um WINAPI ou HBBPRINTER, tu sabe me dizer como resolver? Obrigado!

Em ponteiros pode usar Object… Mas é melhor vc dar uma olhada em tipos de dados, e em quantos bits eles suportam.