You will need to use 32-bit native code from the 32-bit JVM. Either this, or write an external 32-bit program to provide an interface for the DLL, and run the program from the JVM and contact it. For example, you can do this through stdout / stdin. This is similar to the Erlang driver program, and the advantage of this approach is that it can provide a much more stable system. for example, if the driver program works, you can simply restart it from the JVM, it will not destroy the JVM.
Some tips for communicating with subprocesses are here: Running bash from Java
Bill source share