EDIT2:だから私は基本的には今一時バッファを使用して、最終的にバッファに応じてデータをコピーされてやっています。
編集:これは解決策ではありません。 wrapは、オフセットするByteBufferの位置を設定します。私はByteBufferの位ラップ使用の回避策が見出さ
さて
int length = dest.remaining();
// workaround: UsbRequest.queue always writes at position 0 :/
ByteBuffer tmp = ByteBuffer.wrap(dest.array(), dest.position(), length);
if(!inRequest.queue(tmp, length)) {
throw new IOException("Error queueing request.");
}
UsbRequest request = deviceConnection.requestWait();
if (request == inRequest) {
dest.position(dest.position() + tmp.position());
return tmp.position();
}
throw new IOException("requestWait failed! Request: " + request);
(バイト[]配列は、int型の長さ、オフセットINT)