Long explanation short
If you are using one of the latest Java's (22+) you can use jextract on the dll, which will produce a java file for the maapping of the dll to java. You can then use the FFM (Foreign Function and Memory) api to access it. (it not too easy though, but far easier than JNA & JNI to use).