Get<PrimitiveType>ArrayRegion Routines - GetDoubleArrayRegion
void Get<PrimitiveType>ArrayRegion
(JNIEnv *env,
ArrayType array,
jsize start, jsize len,
NativeType *buf);
A family of functions that copies a region of a primitive array into a buffer.
The following table describes the specific primitive array element accessors. You should do the following substitutions:(GetDoubleArrayRegion)
- Replace Get<PrimitiveType>ArrayRegion with one of the actual primitive element accessor routine names from Table 4-12.
- Replace ArrayType with the corresponding array type.
- Replace NativeType with the corresponding native type for that routine.
Table 4-12a Get<PrimitiveType>ArrayRegion Family of Array Accessor Routines
LINKAGE of GetDoubleArrayRegion
Indices in the JNIEnv interface function table.
Table 4-12b Get<PrimitiveType>ArrayRegion Family of Array Accessor Routines
PARAMETERS of GetDoubleArrayRegion
env
: the JNI interface pointer.array
: a Java array.start
: the starting index.len
: the number of elements to be copied.buf
: the destination buffer.THROWS:
ArrayIndexOutOfBoundsException
: if one of the indexes in the region is not valid.
Example of GetDoubleArrayRegion
case 'D': { m_cmdParser->reply.WriteByte(JDWP_TAG_DOUBLE); m_cmdParser->reply.WriteInt(length); if ( length == 0 ) { return; } jdouble* bufferArray = reinterpret_cast<jdouble*>(AgentBase::GetMemoryManager() .Allocate(sizeof(jdouble)*length JDWP_FILE_LINE)); AgentAutoFree scavenger(bufferArray JDWP_FILE_LINE); jni->GetDoubleArrayRegion(static_cast<jdoubleArray>(arrayObject), firstIndex, length, bufferArray); classManager.CheckOnException(jni); for (int i = 0; i < length; i++) { value.d = bufferArray[i]; JDWP_TRACE_DATA("GetValues: send: index=" << i << ", value=(double)" << value.d); m_cmdParser->reply.WriteUntaggedValue(jni, JDWP_TAG_DOUBLE, value); } return; }