I\'ve got a method:
public native void doSomething(ByteBuffer in, ByteBuffer out);
Generated by javah C/C++ header of this method is:
Assuming you allocated the ByteBuffer using ByteBuffer.allocateDirect() you can use GetDirectBufferAddress
jbyte* bbuf_in; jbyte* bbuf_out; bbuf_in = (*env)->GetDirectBufferAddress(env, buf1); bbuf_out= (*env)->GetDirectBufferAddress(env, buf2);