2010-05-11 18 views
0

我目前正在尝试使用JNA访问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+")"); 

这使me:

11000100110110010011000000(51602624)

Altough它应该是0

是不是有什么毛病我使用的是JNA-API的方式?

谢谢!

回答

1

要回答我的问题:

没有什么错误的代码段我张贴在这里,但有另一种具有无关的问题完全无关的错误。

[closed]