我的代码:
import org.xvolks.jnative.JNative;
import java.text.SimpleDateFormat;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;
import org.xvolks.jnative.pointers.Pointer;
import org.xvolks.jnative.pointers.memory.MemoryBlock;
import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;public class GetTime { public static void main(String[] args) throws Exception {

getDiskFreeSpaceEx();
}
public static final void getDiskFreeSpaceEx()
     throws NativeException, IllegalAccessException { MemoryBlock[] tim=new MemoryBlock[3];
tim[0]=MemoryBlockFactory.createMemoryBlock(8);

Pointer[] timed=new Pointer[100];
timed[0]=new Pointer(tim[0]);

tim[1]=MemoryBlockFactory.createMemoryBlock(8);
timed[99]=new Pointer(tim[1]);

MemoryBlock mm = MemoryBlockFactory.createMemoryBlock(4);
Pointer count1=new Pointer(mm);
count1.setIntAt(0, 100);

int[] pt = {17999, 18000, 18001};
float[] rvals=new float[3];
int[] istats=new int[3];

// *********************连接PI数据库**************************//
// **********************************************************//
JNative messageBox = new JNative("piapi32.dll", "piut_setservernode");
messageBox.setRetVal(Type.INT); 
messageBox.setParameter(0, Type.STRING,"piserver"); 
messageBox.invoke(); 

// ***********************获取时间点**************************//
// **********************************************************//
String tt="07-Aug-17 18:00:00";

messageBox =new JNative("piapi32.dll","pitm_parsetime");
messageBox.setRetVal(Type.INT);
messageBox.setParameter(0, Type.STRING,tt);
messageBox.setParameter(1, Type.INT,""+0);
messageBox.setParameter(2, timed[0]);
messageBox.invoke();
System.out.println(messageBox.getRetValAsInt());
System.out.println(timed[0].getAsInt(0));

messageBox =new JNative("piapi32.dll","pitm_parsetime");
messageBox.setRetVal(Type.INT);
messageBox.setParameter(0, Type.STRING,"+10h");
messageBox.setParameter(1, Type.INT,""+timed[0].getAsInt(0));
messageBox.setParameter(2, timed[99]);
messageBox.invoke();
System.out.println(messageBox.getRetValAsInt());
System.out.println(timed[99].getAsInt(0)); // ***********************读取历史数据*************************//
// **********************************************************//

for (int i=0;i<pt.length;i++){
messageBox =new JNative("piapi32.dll","piar_compvalues");
messageBox.setRetVal(Type.INT);
messageBox.setParameter(0,pt[i]);
messageBox.setParameter(1,count1);
messageBox.setParameter(2,Type.INT,""+timed[0].getAsInt(0));
messageBox.setParameter(3,Type.FLOAT,""+rvals[i]);
messageBox.setParameter(4,Type.INT,""+istats[i]);
messageBox.setParameter(5,Type.INT,""+0);
messageBox.invoke();
System.out.println(messageBox.getRetValAsInt());

messageBox.dispose();

}
}
}