Java JNA получает и передает собственный указательJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Java JNA получает и передает собственный указатель

Сообщение Гость »


Как с помощью Java JNA получить указатель из собственного метода и передать его другому собственному методу?

//C-код .h ... extern "C" HN2QCONN __stdcall N2QLibConnCreate(LPCTSTR lpszIniFile, LPCTSTR lpszSection, N2Q_CALLBACK_PROC Обратный вызов); extern "C" BOOL __stdcall N2QLibConnectQuik(HN2QCONN hConn); ... //другой код C .h ... DECLARE_HANDLE (HN2QCONN); ... //проверка кода C .cpp HN2QCONN hConn = N2QLibConnCreate("n2q.ini", "local", CallbackProc); если (!N2QLibConnectQuik(hConn)) printf("Ошибка подключения к серверу."); Как я могу сделать то же самое на Java? Как правильно получить данные из собственного метода и использовать управляемый код для передачи их обратно в собственный метод?

Я пытаюсь это сделать:

//код Java ... общедоступный интерфейс N2q_lib расширяет библиотеку { N2q_lib INSTANCE = (N2q_lib)Native.load("n2q_lib.dll", N2q_lib.class); Указатель N2QLibConnCreate (String lpszIniFile, String lpszSection, Обратный вызов N2q_callback_proc); логическое значение N2QLibConnectQuik (указатель ptr); } ... Приложение общедоступного класса { public static void main( String[] args) { Указатель ptr = новая память(N2q_lib.INSTANCE.N2QLibConnCreate("n2q.ini", "local", null)); если (!N2q_lib.INSTANCE.N2QLibConnectQuik(ptr)) System.out.println("Ошибка подключения к серверу."); } } Но я всегда получаю «ложь». Я неправильно использую указатели?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»