Как вызвать системные dll файлы, используя native в java

Как вызвать файл advapi32.dll в Java, чтобы я мог получить доступ к его функциям. я попытался с помощью приведенного ниже кода

public class test {

int LOGON32_LOGON_NETWORK=0;
int LOGON32_PROVIDER_DEFAULT=0;
IntByReference lToken=null; 

public native boolean LogonUser(String userName, String domain,String password, int dwLogonType, int dwLogonProvider, IntByReference lToken);

static {
    System.loadLibrary("advapi32");
}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        IntByReference lToken = new IntByReference(); 
        test en = new test();
        System.out.println(en.LogonUser("username","domainName","bangalore",0,0,lToken));
        System.out.println("Library Loaded.");
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}

это дает следующую ошибку.

Exception in thread "main" java.lang.UnsatisfiedLinkError: test.LogonUser(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILcom/sun/jna/ptr/IntByReference;)Z
    at test.LogonUser(Native Method)
    at test.main(test.java:48)

0 ответов

Другие вопросы по тегам