📄 jni.h
字号:
jchar (*CallNonvirtualCharMethodV)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
va_list args);
jchar (*CallNonvirtualCharMethodA)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
jvalue *args);
jshort (*CallNonvirtualShortMethod)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jshort (*CallNonvirtualShortMethodV)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
va_list args);
jshort (*CallNonvirtualShortMethodA)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
jvalue *args);
jint (*CallNonvirtualIntMethod)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jint (*CallNonvirtualIntMethodV)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
va_list args);
jint (*CallNonvirtualIntMethodA)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
jvalue *args);
jlong (*CallNonvirtualLongMethod)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jlong (*CallNonvirtualLongMethodV)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
va_list args);
jlong (*CallNonvirtualLongMethodA)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
jvalue *args);
jfloat (*CallNonvirtualFloatMethod)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jfloat (*CallNonvirtualFloatMethodV)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
va_list args);
jfloat (*CallNonvirtualFloatMethodA)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
jvalue *args);
jdouble (*CallNonvirtualDoubleMethod)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
jdouble (*CallNonvirtualDoubleMethodV)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
va_list args);
jdouble (*CallNonvirtualDoubleMethodA)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
jvalue *args);
void (*CallNonvirtualVoidMethod)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
void (*CallNonvirtualVoidMethodV)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
va_list args);
void (*CallNonvirtualVoidMethodA)
(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
jvalue * args);
jfieldID (*GetFieldID)
(JNIEnv *env, jclass clazz, const char *name, const char *sig);
jobject (*GetObjectField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
jboolean (*GetBooleanField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
jbyte (*GetByteField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
jchar (*GetCharField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
jshort (*GetShortField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
jint (*GetIntField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
jlong (*GetLongField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
jfloat (*GetFloatField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
jdouble (*GetDoubleField)
(JNIEnv *env, jobject obj, jfieldID fieldID);
void (*SetObjectField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jobject val);
void (*SetBooleanField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val);
void (*SetByteField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val);
void (*SetCharField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jchar val);
void (*SetShortField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jshort val);
void (*SetIntField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jint val);
void (*SetLongField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jlong val);
void (*SetFloatField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val);
void (*SetDoubleField)
(JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val);
jmethodID (*GetStaticMethodID)
(JNIEnv *env, jclass clazz, const char *name, const char *sig);
jobject (*CallStaticObjectMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jobject (*CallStaticObjectMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jobject (*CallStaticObjectMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jboolean (*CallStaticBooleanMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jboolean (*CallStaticBooleanMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jboolean (*CallStaticBooleanMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jbyte (*CallStaticByteMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jbyte (*CallStaticByteMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jbyte (*CallStaticByteMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jchar (*CallStaticCharMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jchar (*CallStaticCharMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jchar (*CallStaticCharMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jshort (*CallStaticShortMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jshort (*CallStaticShortMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jshort (*CallStaticShortMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jint (*CallStaticIntMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jint (*CallStaticIntMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jint (*CallStaticIntMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jlong (*CallStaticLongMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jlong (*CallStaticLongMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jlong (*CallStaticLongMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jfloat (*CallStaticFloatMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jfloat (*CallStaticFloatMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jfloat (*CallStaticFloatMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
jdouble (*CallStaticDoubleMethod)
(JNIEnv *env, jclass clazz, jmethodID methodID, ...);
jdouble (*CallStaticDoubleMethodV)
(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
jdouble (*CallStaticDoubleMethodA)
(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);
void (*CallStaticVoidMethod)
(JNIEnv *env, jclass cls, jmethodID methodID, ...);
void (*CallStaticVoidMethodV)
(JNIEnv *env, jclass cls, jmethodID methodID, va_list args);
void (*CallStaticVoidMethodA)
(JNIEnv *env, jclass cls, jmethodID methodID, jvalue * args);
jfieldID (*GetStaticFieldID)
(JNIEnv *env, jclass clazz, const char *name, const char *sig);
jobject (*GetStaticObjectField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
jboolean (*GetStaticBooleanField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
jbyte (*GetStaticByteField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
jchar (*GetStaticCharField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
jshort (*GetStaticShortField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
jint (*GetStaticIntField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
jlong (*GetStaticLongField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
jfloat (*GetStaticFloatField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
jdouble (*GetStaticDoubleField)
(JNIEnv *env, jclass clazz, jfieldID fieldID);
void (*SetStaticObjectField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value);
void (*SetStaticBooleanField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value);
void (*SetStaticByteField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value);
void (*SetStaticCharField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value);
void (*SetStaticShortField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value);
void (*SetStaticIntField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jint value);
void (*SetStaticLongField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value);
void (*SetStaticFloatField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value);
void (*SetStaticDoubleField)
(JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value);
jstring (*NewString)
(JNIEnv *env, const jchar *unicode, jsize len);
jsize (*GetStringLength)
(JNIEnv *env, jstring str);
const jchar *(*GetStringChars)
(JNIEnv *env, jstring str, jboolean *isCopy);
void (*ReleaseStringChars)
(JNIEnv *env, jstring str, const jchar *chars);
jstring (*NewStringUTF)
(JNIEnv *env, const char *utf);
jsize (*GetStringUTFLength)
(JNIEnv *env, jstring str);
const char* (*GetStringUTFChars)
(JNIEnv *env, jstring str, jboolean *isCopy);
void (*ReleaseStringUTFChars)
(JNIEnv *env, jstring str, const char* chars);
jsize (*GetArrayLength)
(JNIEnv *env, jarray array);
jobjectArray (*NewObjectArray)
(JNIEnv *env, jsize len, jclass clazz, jobject init);
jobject (*GetObjectArrayElement)
(JNIEnv *env, jobjectArray array, jsize index);
void (*SetObjectArrayElement)
(JNIEnv *env, jobjectArray array, jsize index, jobject val);
jbooleanArray (*NewBooleanArray)
(JNIEnv *env, jsize len);
jbyteArray (*NewByteArray)
(JNIEnv *env, jsize len);
jcharArray (*NewCharArray)
(JNIEnv *env, jsize len);
jshortArray (*NewShortArray)
(JNIEnv *env, jsize len);
jintArray (*NewIntArray)
(JNIEnv *env, jsize len);
jlongArray (*NewLongArray)
(JNIEnv *env, jsize len);
jfloatArray (*NewFloatArray)
(JNIEnv *env, jsize len);
jdoubleArray (*NewDoubleArray)
(JNIEnv *env, jsize len);
jboolean * (*GetBooleanArrayElements)
(JNIEnv *env, jbooleanArray array, jboolean *isCopy);
jbyte * (*GetByteArrayElements)
(JNIEnv *env, jbyteArray array, jboolean *isCopy);
jchar * (*GetCharArrayElements)
(JNIEnv *env, jcharArray array, jboolean *isCopy);
jshort * (*GetShortArrayElements)
(JNIEnv *env, jshortArray array, jboolean *isCopy);
jint * (*GetIntArrayElements)
(JNIEnv *env, jintArray array, jboolean *isCopy);
jlong * (*GetLongArrayElements)
(JNIEnv *env, jlongArray array, jboolean *isCopy);
jfloat * (*GetFloatArrayElements)
(JNIEnv *env, jfloatArray array, jboolean *isCopy);
jdouble * (*GetDoubleArrayElements)
(JNIEnv *env, jdoubleArray array, jboolean *isCopy);
void (*ReleaseBooleanArrayElements)
(JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode);
void (*ReleaseByteArrayElements)
(JNIEnv *env, jbyteArray array, jbyte *elems, jint mode);
void (*ReleaseCharArrayElements)
(JNIEnv *env, jcharArray array, jchar *elems, jint mode);
void (*ReleaseShortArrayElements)
(JNIEnv *env, jshortArray array, jshort *elems, jint mode);
void (*ReleaseIntArrayElements)
(JNIEnv *env, jintArray array, jint *elems, jint mode);
void (*ReleaseLongArrayElements)
(JNIEnv *env, jlongArray array, jlong *elems, jint mode);
void (*ReleaseFloatArrayElements)
(JNIEnv *env, jfloatArray array, jfloat *elems, jint mode);
void (*ReleaseDoubleArrayElements)
(JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode);
void (*GetBooleanArrayRegion)
(JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf);
void (*GetByteArrayRegion)
(JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf);
void (*GetCharArrayRegion)
(JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf);
void (*GetShortArrayRegion)
(JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf);
void (*GetIntArrayRegion)
(JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf);
void (*GetLongArrayRegion)
(JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf);
void (*GetFloatArrayRegion)
(JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf);
void (*GetDoubleArrayRegion)
(JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf);
void (*SetBooleanArrayRegion)
(JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf);
void (*SetByteArrayRegion)
(JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf);
void (*SetCharArrayRegion)
(JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf);
void (*SetShortArrayRegion)
(JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf);
void (*SetIntArrayRegion)
(JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf);
void (*SetLongArrayRegion)
(JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf);
void (*SetFloatArrayRegion)
(JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf);
void (*SetDoubleArrayRegion)
(JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf);
jint (*RegisterNatives)
(JNIEnv *env, jclass clazz, const JNINativeMethod *methods,
jint nMethods);
jint (*UnregisterNatives)
(JNIEnv *env, jclass clazz);
jint (*MonitorEnter)
(JNIEnv *env, jobject obj);
jint (*MonitorExit)
(JNIEnv *env, jobject obj);
jint (*GetJavaVM)
(JNIEnv *env, JavaVM **vm);
};
/*
* 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.
*/
struct JNIEnv_ {
const struct JNINativeInterface_ *functions;
void *reserved0;
void *reserved1[6];
#ifdef __cplusplus
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -