Целое число без знака JNA по ссылке дает странные результаты - PullRequest
0 голосов
/ 11 мая 2010

В настоящее время я пытаюсь получить доступ к C API с помощью JNA. Но у меня проблема с целочисленными параметрами без знака, которые передаются по ссылке.

Итак, вот функция C, о которой идет речь:

int EE_DataGetNumberOfSample(DataHandle hData, unsigned int* nSampleOut);

В Java у меня есть:

public int EE_DataGetNumberOfSample(Pointer hData, ByReference nSampleOut);

А вот как я его использую:

IntByReference nSamplesTaken = new IntByReference();

edk.EE_DataGetNumberOfSample(hData.getValue(), nSamplesTaken);

int nativeNSamplesTaken = nSamplesTaken.getValue();

System.out.println(Integer.toBinaryString(nativeNSamplesTaken)+"("+nativeNSamplesTaken+")");

Это дает мне:

11000100110110010011000000 (51602624)

Хотя должно быть 0.

Что-то не так с тем, как я использую JNA-API?

Спасибо!

1 Ответ

1 голос
/ 11 мая 2010

Чтобы ответить на мой вопрос:

Нет ничего плохого в фрагментах кода, которые я разместил здесь, но была другая совершенно не связанная ошибка, которая не имеет ничего общего с вопросом.

[закрыт]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...