Я использовал JNA, чтобы сделать это ...
JNA - это простой способ вызова функций Native, которые он предоставляет класс NativeLibrary, полезный для решения этой задачи:
// Java-код для вызова нативной функции
dll = NativeLibrary.getInstance(Mydll);
Function proxy;
proxy = dll.getFunction(Utils.getMethods().get("MyMethodEntryPoint"));
byte result[] = new byte[256];
int maxLen = 250;
String strVer = "";
Object[] par = new Object[]{result, maxLen};
intRet = (Integer) proxy.invoke(Integer.class, par);
if (intRet == 0) {
strVer = Utils.byteToString(result);
}
документацию можно найти по адресу http://jna.java.net/