📄 jni_h.html
字号:
jboolean (JNICALL *CallNonvirtualBooleanMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jboolean (JNICALL *CallNonvirtualBooleanMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
jboolean (JNICALL *CallNonvirtualBooleanMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args);
jbyte (JNICALL *CallNonvirtualByteMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jbyte (JNICALL *CallNonvirtualByteMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
jbyte (JNICALL *CallNonvirtualByteMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
jchar (JNICALL *CallNonvirtualCharMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jchar (JNICALL *CallNonvirtualCharMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
jchar (JNICALL *CallNonvirtualCharMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
jshort (JNICALL *CallNonvirtualShortMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jshort (JNICALL *CallNonvirtualShortMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
jshort (JNICALL *CallNonvirtualShortMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
jint (JNICALL *CallNonvirtualIntMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jint (JNICALL *CallNonvirtualIntMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
jint (JNICALL *CallNonvirtualIntMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
jlong (JNICALL *CallNonvirtualLongMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jlong (JNICALL *CallNonvirtualLongMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
jlong (JNICALL *CallNonvirtualLongMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
jfloat (JNICALL *CallNonvirtualFloatMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jfloat (JNICALL *CallNonvirtualFloatMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
jfloat (JNICALL *CallNonvirtualFloatMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
jdouble (JNICALL *CallNonvirtualDoubleMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jdouble (JNICALL *CallNonvirtualDoubleMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
jdouble (JNICALL *CallNonvirtualDoubleMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
<b>void</b> (JNICALL *CallNonvirtualVoidMethod)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
<b>void</b> (JNICALL *CallNonvirtualVoidMethodV)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args);
<b>void</b> (JNICALL *CallNonvirtualVoidMethodA)(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args);
jfieldID (JNICALL *GetFieldID)(JNIEnv *env, jclass clazz, <b>const</b> <b>char</b> *name, <b>const</b> <b>char</b> *sig);
jobject (JNICALL *GetObjectField)(JNIEnv *env, jobject obj, jfieldID fieldID);
jboolean (JNICALL *GetBooleanField)(JNIEnv *env, jobject obj, jfieldID fieldID);
jbyte (JNICALL *GetByteField)(JNIEnv *env, jobject obj, jfieldID fieldID);
jchar (JNICALL *GetCharField)(JNIEnv *env, jobject obj, jfieldID fieldID);
jshort (JNICALL *GetShortField)(JNIEnv *env, jobject obj, jfieldID fieldID);
jint (JNICALL *GetIntField)(JNIEnv *env, jobject obj, jfieldID fieldID);
jlong (JNICALL *GetLongField)(JNIEnv *env, jobject obj, jfieldID fieldID);
jfloat (JNICALL *GetFloatField)(JNIEnv *env, jobject obj, jfieldID fieldID);
jdouble (JNICALL *GetDoubleField)(JNIEnv *env, jobject obj, jfieldID fieldID);
<b>void</b> (JNICALL *SetObjectField)(JNIEnv *env, jobject obj, jfieldID fieldID, jobject val);
<b>void</b> (JNICALL *SetBooleanField)(JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val);
<b>void</b> (JNICALL *SetByteField)(JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val);
<b>void</b> (JNICALL *SetCharField)(JNIEnv *env, jobject obj, jfieldID fieldID, jchar val);
<b>void</b> (JNICALL *SetShortField)(JNIEnv *env, jobject obj, jfieldID fieldID, jshort val);
<b>void</b> (JNICALL *SetIntField)(JNIEnv *env, jobject obj, jfieldID fieldID, jint val);
<b>void</b> (JNICALL *SetLongField)(JNIEnv *env, jobject obj, jfieldID fieldID, jlong val);
<b>void</b> (JNICALL *SetFloatField)(JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val);
<b>void</b> (JNICALL *SetDoubleField)(JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val);
jmethodID (JNICALL *GetStaticMethodID)(JNIEnv *env, jclass clazz, <b>const</b> <b>char</b> *name, <b>const</b> <b>char</b> *sig);
jobject (JNICALL *CallStaticObjectMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jobject (JNICALL *CallStaticObjectMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jobject (JNICALL *CallStaticObjectMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jboolean (JNICALL *CallStaticBooleanMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jboolean (JNICALL *CallStaticBooleanMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jboolean (JNICALL *CallStaticBooleanMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jbyte (JNICALL *CallStaticByteMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jbyte (JNICALL *CallStaticByteMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jbyte (JNICALL *CallStaticByteMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jchar (JNICALL *CallStaticCharMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jchar (JNICALL *CallStaticCharMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jchar (JNICALL *CallStaticCharMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jshort (JNICALL *CallStaticShortMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jshort (JNICALL *CallStaticShortMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jshort (JNICALL *CallStaticShortMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jint (JNICALL *CallStaticIntMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jint (JNICALL *CallStaticIntMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jint (JNICALL *CallStaticIntMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jlong (JNICALL *CallStaticLongMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jlong (JNICALL *CallStaticLongMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jlong (JNICALL *CallStaticLongMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jfloat (JNICALL *CallStaticFloatMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jfloat (JNICALL *CallStaticFloatMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jfloat (JNICALL *CallStaticFloatMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jdouble (JNICALL *CallStaticDoubleMethod)(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jdouble (JNICALL *CallStaticDoubleMethodV)(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jdouble (JNICALL *CallStaticDoubleMethodA)(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
<b>void</b> (JNICALL *CallStaticVoidMethod)(JNIEnv *env, jclass cls, jmethodID methodID, ...);
<b>void</b> (JNICALL *CallStaticVoidMethodV)(JNIEnv *env, jclass cls, jmethodID methodID, va_list args);
<b>void</b> (JNICALL *CallStaticVoidMethodA)(JNIEnv *env, jclass cls, jmethodID methodID, jvalue * args);
jfieldID (JNICALL *GetStaticFieldID)(JNIEnv *env, jclass clazz, <b>const</b> <b>char</b> *name, <b>const</b> <b>char</b> *sig);
jobject (JNICALL *GetStaticObjectField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
jboolean (JNICALL *GetStaticBooleanField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
jbyte (JNICALL *GetStaticByteField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
jchar (JNICALL *GetStaticCharField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
jshort (JNICALL *GetStaticShortField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
jint (JNICALL *GetStaticIntField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
jlong (JNICALL *GetStaticLongField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
jfloat (JNICALL *GetStaticFloatField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
jdouble (JNICALL *GetStaticDoubleField)(JNIEnv *env, jclass clazz, jfieldID fieldID);
<b>void</b> (JNICALL *SetStaticObjectField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value);
<b>void</b> (JNICALL *SetStaticBooleanField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value);
<b>void</b> (JNICALL *SetStaticByteField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value);
<b>void</b> (JNICALL *SetStaticCharField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value);
<b>void</b> (JNICALL *SetStaticShortField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value);
<b>void</b> (JNICALL *SetStaticIntField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jint value);
<b>void</b> (JNICALL *SetStaticLongField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value);
<b>void</b> (JNICALL *SetStaticFloatField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value);
<b>void</b> (JNICALL *SetStaticDoubleField)(JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value);
jstring (JNICALL *NewString)(JNIEnv *env, <b>const</b> jchar *unicode, jsize len);
jsize (JNICALL *GetStringLength)(JNIEnv *env, jstring str);
<b>const</b> jchar *(JNICALL *GetStringChars)(JNIEnv *env, jstring str, jboolean *isCopy);
<b>void</b> (JNICALL *ReleaseStringChars)(JNIEnv *env, jstring str, <b>const</b> jchar *chars);
jstring (JNICALL *NewStringUTF)(JNIEnv *env, <b>const</b> <b>char</b> *utf);
jsize (JNICALL *GetStringUTFLength)(JNIEnv *env, jstring str);
<b>const</b> <b>char</b>* (JNICALL *GetStringUTFChars)(JNIEnv *env, jstring str, jboolean *isCopy);
<b>void</b> (JNICALL *ReleaseStringUTFChars)(JNIEnv *env, jstring str, <b>const</b> <b>char</b>* chars);
jsize (JNICALL *GetArrayLength)(JNIEnv *env, jarray array);
jobjectArray (JNICALL *NewObjectArray)(JNIEnv *env, jsize len, jclass clazz, jobject init);
jobject (JNICALL *GetObjectArrayElement)(JNIEnv *env, jobjectArray array, jsize index);
<b>void</b> (JNICALL *SetObjectArrayElement)(JNIEnv *env, jobjectArray array, jsize index, jobject val);
jbooleanArray (JNICALL *NewBooleanArray)(JNIEnv *env, jsize len);
jbyteArray (JNICALL *NewByteArray)(JNIEnv *env, jsize len);
jcharArray (JNICALL *NewCharArray)(JNIEnv *env, jsize len);
jshortArray (JNICALL *NewShortArray)(JNIEnv *env, jsize len);
jintArray (JNICALL *NewIntArray)(JNIEnv *env, jsize len);
jlongArray (JNICALL *NewLongArray)(JNIEnv *env, jsize len);
jfloatArray (JNICALL *NewFloatArray)(JNIEnv *env, jsize len);
jdoubleArray (JNICALL *NewDoubleArray)(JNIEnv *env, jsize len);
jboolean * (JNICALL *GetBooleanArrayElements)(JNIEnv *env, jbooleanArray array, jboolean *isCopy);
jbyte * (JNICALL *GetByteArrayElements)(JNIEnv *env, jbyteArray array, jboolean *isCopy);
jchar * (JNICALL *GetCharArrayElements)(JNIEnv *env, jcharArray array, jboolean *isCopy);
jshort * (JNICALL *GetShortArrayElements)(JNIEnv *env, jshortArray array, jboolean *isCopy);
jint * (JNICALL *GetIntArrayElements)(JNIEnv *env, jintArray array, jboolean *isCopy);
jlong * (JNICALL *GetLongArrayElements)(JNIEnv *env, jlongArray array, jboolean *isCopy);
jfloat * (JNICALL *GetFloatArrayElements)(JNIEnv *env, jfloatArray array, jboolean *isCopy);
jdouble * (JNICALL *GetDoubleArrayElements)(JNIEnv *env, jdoubleArray array, jboolean *isCopy);
<b>void</b> (JNICALL *ReleaseBooleanArrayElements)(JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode);
<b>void</b> (JNICALL *ReleaseByteArrayElements)(JNIEnv *env, jbyteArray array, jbyte *elems, jint mode);
<b>void</b> (JNICALL *ReleaseCharArrayElements)(JNIEnv *env, jcharArray array, jchar *elems, jint mode);
<b>void</b> (JNICALL *ReleaseShortArrayElements)(JNIEnv *env, jshortArray array, jshort *elems, jint mode);
<b>void</b> (JNICALL *ReleaseIntArrayElements)(JNIEnv *env, jintArray array, jint *elems, jint mode);
<b>void</b> (JNICALL *ReleaseLongArrayElements)(JNIEnv *env, jlongArray array, jlong *elems, jint mode);
<b>void</b> (JNICALL *ReleaseFloatArrayElements)(JNIEnv *env, jfloatArray array, jfloat *elems, jint mode);
<b>void</b> (JNICALL *ReleaseDoubleArrayElements)(JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode);
<b>void</b> (JNICALL *GetBooleanArrayRegion)(JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf);
<b>void</b> (JNICALL *GetByteArrayRegion)(JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf);
<b>void</b> (JNICALL *GetCharArrayRegion)(JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf);
<b>void</b> (JNICALL *GetShortArrayRegion)(JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf);
<b>void</b> (JNICALL *GetIntArrayRegion)(JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf);
<b>void</b> (JNICALL *GetLongArrayRegion)(JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf);
<b>void</b> (JNICALL *GetFloatArrayRegion)(JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf);
<b>void</b> (JNICALL *GetDoubleArrayRegion)(JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf);
<b>void</b> (JNICALL *SetBooleanArrayRegion)(JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf);
<b>void</b> (JNICALL *SetByteArrayRegion)(JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf);
<b>void</b> (JNICALL *SetCharArrayRegion)(JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf);
<b>void</b> (JNICALL *SetShortArrayRegion)(JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf);
<b>void</b> (JNICALL *SetIntArrayRegion)(JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf);
<b>void</b> (JNICALL *SetLongArrayRegion)(JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf);
<b>void</b> (JNICALL *SetFloatArrayRegion)(JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf);
<b>void</b> (JNICALL *SetDoubleArrayRegion)(JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf);
jint (JNICALL *RegisterNatives)(JNIEnv *env, jclass clazz, <b>const</b> JNINativeMethod *methods, jint nMethods);
jint (JNICALL *UnregisterNatives)(JNIEnv *env, jclass clazz);
jint (JNICALL *MonitorEnter)(JNIEnv *env, jobject obj);
jint (JNICALL *MonitorExit)(JNIEnv *env, jobject obj);
jint (JNICALL *GetJavaVM)(JNIEnv *env, JavaVM **vm);
<b>void</b> (JNICALL *GetStringRegion)(JNIEnv *env, jstring str, jsize start, jsize len, jchar *buf);
<b>void</b> (JNICALL *GetStringUTFRegion)(JNIEnv *env, jstring str, jsize start, jsize len, <b>char</b> *buf);
<b>void</b> * (JNICALL *GetPrimitiveArrayCritical)(JNIEnv *env, jarray array, jboolean *isCopy);
<b>void</b> (JNICALL *ReleasePrimitiveArrayCritical)(JNIEnv *env, jarray array, <b>void</b> *carray, jint mode);
<b>const</b> jchar * (JNICALL *GetStringCritical)(JNIEnv *env, jstring string, jboolean *isCopy);
<b>void</b> (JNICALL *ReleaseStringCritical)(JNIEnv *env, jstring string, <b>const</b> jchar *cstring);
jweak (JNICALL *NewWeakGlobalRef)(JNIEnv *env, jobject obj);
<b>void</b> (JNICALL *DeleteWeakGlobalRef)(JNIEnv *env, jweak ref);
jboolean (JNICALL *ExceptionCheck)(JNIEnv *env);
};
<font color="#003399"><i>/*
* We use inlined functions for C++ so that programmers can write:
*
* env->FindClass("java/lang/String")
*
* in C++ rather than:
*
* (*env)->FindClass(env, "java/lang/String")
*
* in C.
*/</i></font>
<b>struct</b> JNIEnv_ {
<b>const</b> <b>struct</b> JNINativeInterface_ *functions;
<font color="990099">#ifdef __cplusplus</font>
jint GetVersion() {
<b>return</b> functions->GetVersion(<b>this</b>);
}
jclass DefineClass(<b>const</b> <b>char</b> *name, jobject loader, <b>const</b> jbyte *buf,
jsize len) {
<b>return</b> functions->DefineClass(<b>this</b>, name, loader, buf, len);
}
jclass FindClass(<b>const</b> <b>char</b> *name) {
<b>return</b> functions->FindClass(<b>this</b>, name);
}
jmethodID FromReflectedMethod(jobject method) {
<b>return</b> functions->FromReflectedMethod(<b>this</b>,method);
}
jfieldID FromReflectedField(jobject field) {
<b>return</b> functions->FromReflectedField(<b>this</b>,field);
}
jobject ToReflectedMethod(jclass cls, jmethodID methodID, jboolean isStatic) {
<b>return</b> functions->ToReflectedMethod(<b>this</b>, cls, methodID, isStatic);
}
jclass GetSuperclass(jclass sub) {
<b>return</b> functions->GetSuperclass(<b>this</b>, sub);
}
jboolean IsAssignableFrom(jclass sub, jclass sup) {
<b>return</b> functions->IsAssignableFrom(<b>this</b>, sub, sup);
}
jobject ToReflectedField(jclass cls, jfieldID fieldID, jboolean isStatic) {
<b>return</b> functions->ToReflectedField(<b>this</b>,cls,fieldID,isStatic);
}
jint <b>Throw</b>(jthrowable obj) {
<b>return</b> functions-><b>Throw</b>(<b>this</b>, obj);
}
jint ThrowNew(jclass clazz, <b>const</b> <b>char</b> *msg) {
<b>return</b> functions->ThrowNew(<b>this</b>, clazz, msg);
}
jthrowable ExceptionOccurred() {
<b>return</b> functions->ExceptionOccurred(<b>this</b>);
}
<b>void</b> ExceptionDescribe() {
functions->ExceptionDescribe(<b>this</b>);
}
<b>void</b> ExceptionClear() {
functions->ExceptionClear(<b>this</b>);
}
<b>void</b> FatalError(<b>const</b> <b>char</b> *msg) {
functions->FatalError(<b>this</b>, msg);
}
jint PushLocalFrame(jint capacity) {
<b>return</b> functions->PushLocalFrame(<b>this</b>,capacity);
}
jobject PopLocalFrame(jobject result) {
<b>return</b> functions->PopLocalFrame(<b>this</b>,result);
}
jobject NewGlobalRef(jobject lobj) {
<b>return</b> functions->NewGlobalRef(<b>this</b>,lobj);
}
<b>void</b> DeleteGlobalRef(jobject gref) {
functions->DeleteGlobalRef(<b>this</b>,gref);
}
<b>void</b> DeleteLocalRef(jobject obj) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -