JNIEnv 速查

+000    void*       reserved0;
+004    void*       reserved1;
+008    void*       reserved2;
+00C    void*       reserved3;
+010    jint        (*GetVersion)(JNIEnv *);
+014    jclass      (*DefineClass)(JNIEnv*, const char*, jobject, const jbyte*, jsize);
+018    jclass      (*FindClass)(JNIEnv*, const char*);
+01C    jmethodID   (*FromReflectedMethod)(JNIEnv*, jobject);
+020    jfieldID    (*FromReflectedField)(JNIEnv*, jobject);
+024    jobject     (*ToReflectedMethod)(JNIEnv*, jclass, jmethodID, jboolean);
+028    jclass      (*GetSuperclass)(JNIEnv*, jclass);
+02C    jboolean    (*IsAssignableFrom)(JNIEnv*, jclass, jclass);
+030    jobject     (*ToReflectedField)(JNIEnv*, jclass, jfieldID, jboolean);
+034    jint        (*Throw)(JNIEnv*, jthrowable);
+038    jint        (*ThrowNew)(JNIEnv *, jclass, const char *);
+03C    jthrowable  (*ExceptionOccurred)(JNIEnv*);
+040    void        (*ExceptionDescribe)(JNIEnv*);
+044    void        (*ExceptionClear)(JNIEnv*);
+048    void        (*FatalError)(JNIEnv*, const char*);
+04C    jint        (*PushLocalFrame)(JNIEnv*, jint);
+050    jobject     (*PopLocalFrame)(JNIEnv*, jobject);
+054    jobject     (*NewGlobalRef)(JNIEnv*, jobject);
+058    void        (*DeleteGlobalRef)(JNIEnv*, jobject);
+05C    void        (*DeleteLocalRef)(JNIEnv*, jobject);
+060    jboolean    (*IsSameObject)(JNIEnv*, jobject, jobject);
+064    jobject     (*NewLocalRef)(JNIEnv*, jobject);
+068    jint        (*EnsureLocalCapacity)(JNIEnv*, jint);
+06C    jobject     (*AllocObject)(JNIEnv*, jclass);
+070    jobject     (*NewObject)(JNIEnv*, jclass, jmethodID, ...);
+074    jobject     (*NewObjectV)(JNIEnv*, jclass, jmethodID, va_list);
+078    jobject     (*NewObjectA)(JNIEnv*, jclass, jmethodID, jvalue*);
+07C    jclass      (*GetObjectClass)(JNIEnv*, jobject);
+080    jboolean    (*IsInstanceOf)(JNIEnv*, jobject, jclass);
+084    jmethodID   (*GetMethodID)(JNIEnv*, jclass, const char*, const char*);
+088    jobject     (*CallObjectMethod)(JNIEnv*, jobject, jmethodID, ...);
+08C    jobject     (*CallObjectMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+090    jobject     (*CallObjectMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+094    jboolean    (*CallBooleanMethod)(JNIEnv*, jobject, jmethodID, ...);
+098    jboolean    (*CallBooleanMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+09C    jboolean    (*CallBooleanMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+0A0    jbyte       (*CallByteMethod)(JNIEnv*, jobject, jmethodID, ...);
+0A4    jbyte       (*CallByteMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+0A8    jbyte       (*CallByteMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+0AC    jchar       (*CallCharMethod)(JNIEnv*, jobject, jmethodID, ...);
+0B0    jchar       (*CallCharMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+0B4    jchar       (*CallCharMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+0B8    jshort      (*CallShortMethod)(JNIEnv*, jobject, jmethodID, ...);
+0BC    jshort      (*CallShortMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+0C0    jshort      (*CallShortMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+0C4    jint        (*CallIntMethod)(JNIEnv*, jobject, jmethodID, ...);
+0C8    jint        (*CallIntMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+0CC    jint        (*CallIntMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+0D0    jlong       (*CallLongMethod)(JNIEnv*, jobject, jmethodID, ...);
+0D4    jlong       (*CallLongMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+0D8    jlong       (*CallLongMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+0DC    jfloat      (*CallFloatMethod)(JNIEnv*, jobject, jmethodID, ...);
+0E0    jfloat      (*CallFloatMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+0E4    jfloat      (*CallFloatMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+0E8    jdouble     (*CallDoubleMethod)(JNIEnv*, jobject, jmethodID, ...);
+0EC    jdouble     (*CallDoubleMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+0F0    jdouble     (*CallDoubleMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+0F4    void        (*CallVoidMethod)(JNIEnv*, jobject, jmethodID, ...);
+0F8    void        (*CallVoidMethodV)(JNIEnv*, jobject, jmethodID, va_list);
+0FC    void        (*CallVoidMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
+100    jobject     (*CallNonvirtualObjectMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+104    jobject     (*CallNonvirtualObjectMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+108    jobject     (*CallNonvirtualObjectMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+10C    jboolean    (*CallNonvirtualBooleanMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+110    jboolean    (*CallNonvirtualBooleanMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+114    jboolean    (*CallNonvirtualBooleanMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+118    jbyte       (*CallNonvirtualByteMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+11C    jbyte       (*CallNonvirtualByteMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+120    jbyte       (*CallNonvirtualByteMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+124    jchar       (*CallNonvirtualCharMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+128    jchar       (*CallNonvirtualCharMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+12C    jchar       (*CallNonvirtualCharMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+130    jshort      (*CallNonvirtualShortMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+134    jshort      (*CallNonvirtualShortMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+138    jshort      (*CallNonvirtualShortMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+13C    jint        (*CallNonvirtualIntMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+140    jint        (*CallNonvirtualIntMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+144    jint        (*CallNonvirtualIntMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+148    jlong       (*CallNonvirtualLongMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+14C    jlong       (*CallNonvirtualLongMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+150    jlong       (*CallNonvirtualLongMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+154    jfloat      (*CallNonvirtualFloatMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+158    jfloat      (*CallNonvirtualFloatMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+15C    jfloat      (*CallNonvirtualFloatMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+160    jdouble     (*CallNonvirtualDoubleMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+164    jdouble     (*CallNonvirtualDoubleMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+168    jdouble     (*CallNonvirtualDoubleMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+16C    void        (*CallNonvirtualVoidMethod)(JNIEnv*, jobject, jclass, jmethodID, ...);
+170    void        (*CallNonvirtualVoidMethodV)(JNIEnv*, jobject, jclass, jmethodID, va_list);
+174    void        (*CallNonvirtualVoidMethodA)(JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+178    jfieldID    (*GetFieldID)(JNIEnv*, jclass, const char*, const char*);
+17C    jobject     (*GetObjectField)(JNIEnv*, jobject, jfieldID);
+180    jboolean    (*GetBooleanField)(JNIEnv*, jobject, jfieldID);
+184    jbyte       (*GetByteField)(JNIEnv*, jobject, jfieldID);
+188    jchar       (*GetCharField)(JNIEnv*, jobject, jfieldID);
+18C    jshort      (*GetShortField)(JNIEnv*, jobject, jfieldID);
+190    jint        (*GetIntField)(JNIEnv*, jobject, jfieldID);
+194    jlong       (*GetLongField)(JNIEnv*, jobject, jfieldID);
+198    jfloat      (*GetFloatField)(JNIEnv*, jobject, jfieldID);
+19C    jdouble     (*GetDoubleField)(JNIEnv*, jobject, jfieldID);
+1A0    void        (*SetObjectField)(JNIEnv*, jobject, jfieldID, jobject);
+1A4    void        (*SetBooleanField)(JNIEnv*, jobject, jfieldID, jboolean);
+1A8    void        (*SetByteField)(JNIEnv*, jobject, jfieldID, jbyte);
+1AC    void        (*SetCharField)(JNIEnv*, jobject, jfieldID, jchar);
+1B0    void        (*SetShortField)(JNIEnv*, jobject, jfieldID, jshort);
+1B4    void        (*SetIntField)(JNIEnv*, jobject, jfieldID, jint);
+1B8    void        (*SetLongField)(JNIEnv*, jobject, jfieldID, jlong);
+1BC    void        (*SetFloatField)(JNIEnv*, jobject, jfieldID, jfloat);
+1C0    void        (*SetDoubleField)(JNIEnv*, jobject, jfieldID, jdouble);
+1C4    jmethodID   (*GetStaticMethodID)(JNIEnv*, jclass, const char*, const char*);
+1C8    jobject     (*CallStaticObjectMethod)(JNIEnv*, jclass, jmethodID, ...);
+1CC    jobject     (*CallStaticObjectMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+1D0    jobject     (*CallStaticObjectMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+1D4    jboolean    (*CallStaticBooleanMethod)(JNIEnv*, jclass, jmethodID, ...);
+1D8    jboolean    (*CallStaticBooleanMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+1DC    jboolean    (*CallStaticBooleanMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+1E0    jbyte       (*CallStaticByteMethod)(JNIEnv*, jclass, jmethodID, ...);
+1E4    jbyte       (*CallStaticByteMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+1E8    jbyte       (*CallStaticByteMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+1EC    jchar       (*CallStaticCharMethod)(JNIEnv*, jclass, jmethodID, ...);
+1F0    jchar       (*CallStaticCharMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+1F4    jchar       (*CallStaticCharMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+1F8    jshort      (*CallStaticShortMethod)(JNIEnv*, jclass, jmethodID, ...);
+1FC    jshort      (*CallStaticShortMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+200    jshort      (*CallStaticShortMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+204    jint        (*CallStaticIntMethod)(JNIEnv*, jclass, jmethodID, ...);
+208    jint        (*CallStaticIntMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+20C    jint        (*CallStaticIntMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+210    jlong       (*CallStaticLongMethod)(JNIEnv*, jclass, jmethodID, ...);
+214    jlong       (*CallStaticLongMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+218    jlong       (*CallStaticLongMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+21C    jfloat      (*CallStaticFloatMethod)(JNIEnv*, jclass, jmethodID, ...);
+220    jfloat      (*CallStaticFloatMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+224    jfloat      (*CallStaticFloatMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+228    jdouble     (*CallStaticDoubleMethod)(JNIEnv*, jclass, jmethodID, ...);
+22C    jdouble     (*CallStaticDoubleMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+230    jdouble     (*CallStaticDoubleMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+234    void        (*CallStaticVoidMethod)(JNIEnv*, jclass, jmethodID, ...);
+238    void        (*CallStaticVoidMethodV)(JNIEnv*, jclass, jmethodID, va_list);
+23C    void        (*CallStaticVoidMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
+240    jfieldID    (*GetStaticFieldID)(JNIEnv*, jclass, const char*, const char*);
+244    jobject     (*GetStaticObjectField)(JNIEnv*, jclass, jfieldID);
+248    jboolean    (*GetStaticBooleanField)(JNIEnv*, jclass, jfieldID);
+24C    jbyte       (*GetStaticByteField)(JNIEnv*, jclass, jfieldID);
+250    jchar       (*GetStaticCharField)(JNIEnv*, jclass, jfieldID);
+254    jshort      (*GetStaticShortField)(JNIEnv*, jclass, jfieldID);
+258    jint        (*GetStaticIntField)(JNIEnv*, jclass, jfieldID);
+25C    jlong       (*GetStaticLongField)(JNIEnv*, jclass, jfieldID);
+260    jfloat      (*GetStaticFloatField)(JNIEnv*, jclass, jfieldID);
+264    jdouble     (*GetStaticDoubleField)(JNIEnv*, jclass, jfieldID);
+268    void        (*SetStaticObjectField)(JNIEnv*, jclass, jfieldID, jobject);
+26C    void        (*SetStaticBooleanField)(JNIEnv*, jclass, jfieldID, jboolean);
+270    void        (*SetStaticByteField)(JNIEnv*, jclass, jfieldID, jbyte);
+274    void        (*SetStaticCharField)(JNIEnv*, jclass, jfieldID, jchar);
+278    void        (*SetStaticShortField)(JNIEnv*, jclass, jfieldID, jshort);
+27C    void        (*SetStaticIntField)(JNIEnv*, jclass, jfieldID, jint);
+280    void        (*SetStaticLongField)(JNIEnv*, jclass, jfieldID, jlong);
+284    void        (*SetStaticFloatField)(JNIEnv*, jclass, jfieldID, jfloat);
+288    void        (*SetStaticDoubleField)(JNIEnv*, jclass, jfieldID, jdouble);
+28C    jstring     (*NewString)(JNIEnv*, const jchar*, jsize);
+290    jsize       (*GetStringLength)(JNIEnv*, jstring);
+294    const jchar* (*GetStringChars)(JNIEnv*, jstring, jboolean*);
+298    void        (*ReleaseStringChars)(JNIEnv*, jstring, const jchar*);
+29C    jstring     (*NewStringUTF)(JNIEnv*, const char*);
+2A0    jsize       (*GetStringUTFLength)(JNIEnv*, jstring);
+2A4    const char* (*GetStringUTFChars)(JNIEnv*, jstring, jboolean*);
+2A8    void        (*ReleaseStringUTFChars)(JNIEnv*, jstring, const char*);
+2AC    jsize       (*GetArrayLength)(JNIEnv*, jarray);
+2B0    jobjectArray (*NewObjectArray)(JNIEnv*, jsize, jclass, jobject);
+2B4    jobject     (*GetObjectArrayElement)(JNIEnv*, jobjectArray, jsize);
+2B8    void        (*SetObjectArrayElement)(JNIEnv*, jobjectArray, jsize, jobject);
+2BC    jbooleanArray (*NewBooleanArray)(JNIEnv*, jsize);
+2C0    jbyteArray    (*NewByteArray)(JNIEnv*, jsize);
+2C4    jcharArray    (*NewCharArray)(JNIEnv*, jsize);
+2C8    jshortArray   (*NewShortArray)(JNIEnv*, jsize);
+2CC    jintArray     (*NewIntArray)(JNIEnv*, jsize);
+2D0    jlongArray    (*NewLongArray)(JNIEnv*, jsize);
+2D4    jfloatArray   (*NewFloatArray)(JNIEnv*, jsize);
+2D8    jdoubleArray  (*NewDoubleArray)(JNIEnv*, jsize);
+2DC    jboolean*   (*GetBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*);
+2E0    jbyte*      (*GetByteArrayElements)(JNIEnv*, jbyteArray, jboolean*);
+2E4    jchar*      (*GetCharArrayElements)(JNIEnv*, jcharArray, jboolean*);
+2E8    jshort*     (*GetShortArrayElements)(JNIEnv*, jshortArray, jboolean*);
+2EC    jint*       (*GetIntArrayElements)(JNIEnv*, jintArray, jboolean*);
+2F0    jlong*      (*GetLongArrayElements)(JNIEnv*, jlongArray, jboolean*);
+2F4    jfloat*     (*GetFloatArrayElements)(JNIEnv*, jfloatArray, jboolean*);
+2F8    jdouble*    (*GetDoubleArrayElements)(JNIEnv*, jdoubleArray, jboolean*);
+2FC    void        (*ReleaseBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*, jint);
+300    void        (*ReleaseByteArrayElements)(JNIEnv*, jbyteArray, jbyte*, jint);
+304    void        (*ReleaseCharArrayElements)(JNIEnv*, jcharArray, jchar*, jint);
+308    void        (*ReleaseShortArrayElements)(JNIEnv*, jshortArray, jshort*, jint);
+30C    void        (*ReleaseIntArrayElements)(JNIEnv*, jintArray, jint*, jint);
+310    void        (*ReleaseLongArrayElements)(JNIEnv*, jlongArray, jlong*, jint);
+314    void        (*ReleaseFloatArrayElements)(JNIEnv*, jfloatArray, jfloat*, jint);
+318    void        (*ReleaseDoubleArrayElements)(JNIEnv*, jdoubleArray, jdouble*, jint);
+31C    void        (*GetBooleanArrayRegion)(JNIEnv*, jbooleanArray, jsize, jsize, jboolean*);
+320    void        (*GetByteArrayRegion)(JNIEnv*, jbyteArray, jsize, jsize, jbyte*);
+324    void        (*GetCharArrayRegion)(JNIEnv*, jcharArray, jsize, jsize, jchar*);
+328    void        (*GetShortArrayRegion)(JNIEnv*, jshortArray, jsize, jsize, jshort*);
+32C    void        (*GetIntArrayRegion)(JNIEnv*, jintArray, jsize, jsize, jint*);
+330    void        (*GetLongArrayRegion)(JNIEnv*, jlongArray, jsize, jsize, jlong*);
+334    void        (*GetFloatArrayRegion)(JNIEnv*, jfloatArray, jsize, jsize, jfloat*);
+338    void        (*GetDoubleArrayRegion)(JNIEnv*, jdoubleArray, jsize, jsize, jdouble*);
+33C    void        (*SetBooleanArrayRegion)(JNIEnv*, jbooleanArray, jsize, jsize, const jboolean*);
+340    void        (*SetByteArrayRegion)(JNIEnv*, jbyteArray, jsize, jsize, const jbyte*);
+344    void        (*SetCharArrayRegion)(JNIEnv*, jcharArray, jsize, jsize, const jchar*);
+348    void        (*SetShortArrayRegion)(JNIEnv*, jshortArray, jsize, jsize, const jshort*);
+34C    void        (*SetIntArrayRegion)(JNIEnv*, jintArray, jsize, jsize, const jint*);
+350    void        (*SetLongArrayRegion)(JNIEnv*, jlongArray, jsize, jsize, const jlong*);
+354    void        (*SetFloatArrayRegion)(JNIEnv*, jfloatArray, jsize, jsize, const jfloat*);
+358    void        (*SetDoubleArrayRegion)(JNIEnv*, jdoubleArray, jsize, jsize, const jdouble*);
+35C    jint        (*RegisterNatives)(JNIEnv*, jclass, const JNINativeMethod*, jint);
+360    jint        (*UnregisterNatives)(JNIEnv*, jclass);
+364    jint        (*MonitorEnter)(JNIEnv*, jobject);
+368    jint        (*MonitorExit)(JNIEnv*, jobject);
+36C    jint        (*GetJavaVM)(JNIEnv*, JavaVM**);
+370    void        (*GetStringRegion)(JNIEnv*, jstring, jsize, jsize, jchar*);
+374    void        (*GetStringUTFRegion)(JNIEnv*, jstring, jsize, jsize, char*);
+378    void*       (*GetPrimitiveArrayCritical)(JNIEnv*, jarray, jboolean*);
+37C    void        (*ReleasePrimitiveArrayCritical)(JNIEnv*, jarray, void*, jint);
+380    const jchar* (*GetStringCritical)(JNIEnv*, jstring, jboolean*);
+384    void        (*ReleaseStringCritical)(JNIEnv*, jstring, const jchar*);
+388    jweak       (*NewWeakGlobalRef)(JNIEnv*, jobject);
+38C    void        (*DeleteWeakGlobalRef)(JNIEnv*, jweak);
+390    jboolean    (*ExceptionCheck)(JNIEnv*);
+394    jobject     (*NewDirectByteBuffer)(JNIEnv*, void*, jlong);
+398    void*       (*GetDirectBufferAddress)(JNIEnv*, jobject);
+39C    jlong       (*GetDirectBufferCapacity)(JNIEnv*, jobject);
+3A0    jobjectRefType (*GetObjectRefType)(JNIEnv*, jobject);

你可能感兴趣的:(JNIEnv 速查)