2010-05-11 45 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]