Tag: jna

从Java调用C#dll方法

有没有人知道我试图从我的Java代码中的C#dll调用方法有什么问题? 这是我的例子: Java代码: public class CsDllHandler { public interface IKeywordRun extends Library { public String KeywordRun(String action, String xpath, String inputData, String verifyData); } private static IKeywordRun jnaInstance = null; public void runDllMethod(String action, String xpath, String inputData, String verifyData) { NativeLibrary.addSearchPath(${projectDllName}, “${projectPath}/bin/x64/Debug”); jnaInstance = (IKeywordRun) Native.loadLibrary( ${projectDllName}, IKeywordRun.class); String csResult = jnaInstance.KeywordRun(action, xpath, inputData, […]

JNA无法通过java在dll文件中找到指定的过程

我试图通过java访问DLL程序,但我的java方法无法找到该程序。 dll文件已成功加载,但是名为Login I的C#代码中的过程无法调用。 下面是ADHelper.dll中的过程def: public static ADHelper.LoginResult Login(string UserName, string Password) { if (!ADHelper.IsUserValid(UserName, Password)) return ADHelper.LoginResult.LOGIN_USER_DOESNT_EXIST; DirectoryEntry user = ADHelper.GetUser(UserName); if (user == null) return ADHelper.LoginResult.LOGIN_USER_DOESNT_EXIST; int userAccountControl = Convert.ToInt32(RuntimeHelpers.GetObjectValue(user.Properties[“userAccountControl”][0])); user.Close(); return !ADHelper.IsAccountActive(userAccountControl) ? ADHelper.LoginResult.LOGIN_USER_ACCOUNT_INACTIVE : ADHelper.LoginResult.LOGIN_OK; } dll文件名是ADHelper.dll。 LoginResult是枚举类型: public enum LoginResult { LOGIN_OK, LOGIN_USER_DOESNT_EXIST, LOGIN_USER_ACCOUNT_INACTIVE, } 下面是我通常调用程序的java程序: package dllTest; import com.sun.jna.*; public […]