Set<PrimitiveType>ArrayRegion Routines - SetByteArrayRegion
void
Set<PrimitiveType>ArrayRegion(JNIEnv *env,
ArrayType array, jsize start, jsize len,
NativeType *buf); (SetByteArrayRegion)
A family of functions that copies back a region of a primitive array from a buffer.
The following table describes the specific primitive array element accessors. You should make the following replacements: (SetByteArrayRegion)
- Replace Set<PrimitiveType>ArrayRegion with one of the actual primitive element accessor routine names from the table.
- Replace ArrayType with the corresponding array type.
- Replace NativeType with the corresponding native type for that routine.Table 4-13a Set<PrimitiveType>ArrayRegion Family of Array Accessor Routines
LINKAGE of SetByteArrayRegion
Indices in the JNIEnv interface function table.
Table 4-13b Set<PrimitiveType>ArrayRegion Family of Array Accessor Routines
PARAMETERS of SetByteArrayRegion
env
: the JNI interface pointer.array
: a Java array.start
: the starting index.len
: the number of elements to be copied.buf
: the source buffer.THROWS:
ArrayIndexOutOfBoundsException
: if one of the indexes in the region is not valid.
Example of SetByteArrayRegion
case 'B': { jbyte* bufferArray = reinterpret_cast<jbyte*>(AgentBase::GetMemoryManager() .Allocate(sizeof(jbyte)*values JDWP_FILE_LINE)); AgentAutoFree scavenger(bufferArray JDWP_FILE_LINE); for (int i = 0; i < values; i++) { value = m_cmdParser->command.ReadUntaggedValue(jni, JDWP_TAG_BYTE); JDWP_TRACE_DATA("SetValues: set: index=" << i << ", value=(byte)" << value.b); bufferArray[i] = value.b; } jni->SetByteArrayRegion(static_cast<jbyteArray>(arrayObject), firstIndex, values, bufferArray); break; }