使用JNA调用DLL格式SDK,出现报错java.lang.UnsatisfiedLinkError: %1 不是有效的 Win32 应用程序,看看什么原因

问题遇到的现象和发生背景

第一次使用JAVA调用dll文件,调试过程中出现报错:java.lang.UnsatisfiedLinkError: %1 不是有效的 Win32 应用程序。
请有经验的朋友帮忙看看是什么原因导致。
谢谢
操作系统:win10 64x
JDK版本:jdk 1.8.0 (64位)
DLL文件是打包为64位

问题相关代码,请勿粘贴截图

public interface GuidScreenService extends Library {

// dhnetsdk.dll
GuidScreenService INSTANCE = Native.load("dhnetsdk.dll", GuidScreenService.class);


/***
 * 用户登录服务
 * @return
 */

Integer CLIENT_LoginEx(String pchDVRIP, char wDVRPort, String pchUserName, String pchPassword, int nSpecCap,
Pointer pCapParam, LpnetDeviceInfo lpDeviceInfo, int error);

}

bean 文件:
public class LpnetDeviceInfo extends Structure {

public byte sSerialNumber;

public byte byAlarmInPortNum;

public byte byAlarmOutPortNum;

public byte byDiskNum;

public byte byDVRType;
}

调试代码
public class ScreenTest {

public static void  main(String [] args){
    GuidScreenService service = GuidScreenService.INSTANCE;

    String ip = "127.0.0.1";
    char port = 10000;
    String user = "user";
    String pass = "123123";
    LpnetDeviceInfo deviceInfo = new LpnetDeviceInfo();

    Integer result = service.CLIENT_LoginEx(ip, port, user, pass, 0, null,deviceInfo , 0);
    System.out.println(result);
}

}

运行结果及报错内容

Exception in thread "main" java.lang.UnsatisfiedLinkError: %1 不是有效的 Win32 应用程序。

at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:277)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:461)
at com.sun.jna.Library$Handler.<init>(Library.java:192)
at com.sun.jna.Native.load(Native.java:596)
at com.sun.jna.Native.load(Native.java:570)
at com.ycig.psticp.access.service.dll.GuidScreenService.<clinit>(GuidScreenService.java:18)
我的解答思路和尝试过的方法

经过检查,文件是可以找到,应该是加载不成功

我想要达到的结果

dll文件可以顺利加载

已找到原因,是jdk的版本与dll文件的不匹配导致;
之前安装的jdk是32位,而dll是64位编译文件,所以报错;将JDK更换为64位,报错消失