遇到一个问题,请大家帮忙分析一下 
我使用JNA调用dll,DLL中函数list有两个参数a、b,a表示C++中结构体Ordinate数组的指针,b表示a的维数类型是int*,调用函数list成功后给a、b赋值 我的调用代码是这样的: Ordinate.ByReference[] a = new Ordinate.ByReference[MAX]; 
IntByreference b = new IntByreference(); 
list(a,b); 
StringBuffer sb = new StringBuffer(""); 
for(int i= 0;i <b.getvalue();i++) 

    sb.append(a[i].属性1); 
    sb.append(a[i].属性2); 
    System.out.println(sb); 
    sb.delete(0,sb.length()); 

现在的问题是,b.getvalue()可以得到正确的值, 
但是报错:java.lang.NullPointerException; 
好像是红色代码部分的问题。 请问这个问题出在哪里啊?跟内存锁定有关系吗?PIN问题?(这几个名词我也不知道什么意思) 
请大家帮忙解决一下吧!谢谢