2using System.Runtime.InteropServices;
4using Microsoft.Win32.SafeHandles;
9#if FIRST_PASS == false && IMPORTER == false && EXPORTER == false
41 [StructLayout(LayoutKind.Sequential)]
76 Marshal.FreeHGlobal(
handle);
296 static readonly LibJvm
libjvm = LibJvm.Instance;
524 if (
libjvm.Handle.GetExport(name, argl).Handle is nint h and not 0)
535 JNIVM.jvmCreated =
true;
System.Runtime.InteropServices.CallingConvention CallingConvention
Represents an internal error that occurred within IKVM.
Maintains a JNINativeInterface structure in memory.
JNINativeInterface * Handle
Gets the handle to the JNIEnv structure.
override bool ReleaseHandle()
Releases the handle.
static readonly JNINativeInterfaceHandle Instance
Gets a reference to the JNINativeInterface instance.
JNINativeInterfaceHandle()
Initializes a new instance.
System.IntPtr jfloatArray
System.IntPtr jbooleanArray
System.IntPtr jobjectArray
System.IntPtr jshortArray
System.IntPtr jdoubleArray
static nint NewObjectA(JNIEnv *pEnv, nint clazz, nint methodID, JValue *args)
Manged implementation of the JNINativeInterface structure.
void * CallNonvirtualByteMethodA
static readonly CallStaticBooleanMethodADelegateType CallStaticBooleanMethodADelegate
void * CallStaticIntMethodA
void * SetBooleanArrayRegion
void * CallStaticBooleanMethod
static readonly GetDoubleArrayRegionDelegateType GetDoubleArrayRegionDelegate
delegate void SetShortFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jshort val)
delegate jmethodID FromReflectedMethodDelegateType(JNIEnv *pEnv, jmethodID methodID)
static readonly CallNonvirtualLongMethodADelegateType CallNonvirtualLongMethodADelegate
delegate void ReleaseCharArrayElementsDelegateType(JNIEnv *pEnv, jcharArray array, jchar *elems, jint mode)
delegate jint UnregisterNativesDelegateType(JNIEnv *pEnv, jclass clazz)
void * ReleaseStringUTFChars
delegate void SetDoubleArrayRegionDelegateType(JNIEnv *pEnv, jdoubleArray array, jsize start, jsize len, jdouble *buf)
static readonly GetStaticByteFieldDelegateType GetStaticByteFieldDelegate
static readonly GetMethodIDDelegateType GetMethodIDDelegate
void * CallBooleanMethodA
delegate void CallVoidMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
delegate void SetStaticByteFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jbyte val)
delegate void ReleaseByteArrayElementsDelegateType(JNIEnv *pEnv, jbyteArray array, jbyte *elems, jint mode)
delegate jint MonitorExitDelegateType(JNIEnv *pEnv, jobject obj)
static readonly ReleasePrimitiveArrayCriticalDelegateType ReleasePrimitiveArrayCriticalDelegate
static readonly NewLocalRefDelegateType NewLocalRefDelegate
delegate jshort CallStaticShortMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
delegate jboolean GetStaticBooleanFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
void * CallStaticDoubleMethod
static readonly SetStaticLongFieldDelegateType SetStaticLongFieldDelegate
static readonly GetLongFieldDelegateType GetLongFieldDelegate
void * SetFloatArrayRegion
static readonly GetStringRegionDelegateType GetStringRegionDelegate
void * CallStaticVoidMethodA
delegate jlong CallLongMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
void * CallNonvirtualIntMethodA
static readonly IsInstanceOfDelegateType IsInstanceOfDelegate
static readonly CallNonvirtualShortMethodADelegateType CallNonvirtualShortMethodADelegate
void * GetShortArrayRegion
void * CallStaticObjectMethodV
delegate jobject CallNonvirtualObjectMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
delegate void SetStaticShortFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jshort val)
delegate jint MonitorEnterDelegateType(JNIEnv *pEnv, jobject obj)
delegate jboolean CallBooleanMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
void * CallStaticShortMethodA
delegate jstring NewStringDelegateType(JNIEnv *pEnv, jchar *unicode, int len)
static readonly CallObjectMethodADelegateType CallObjectMethodADelegate
delegate jobject ToReflectedFieldDelegateType(JNIEnv *pEnv, jclass clazz_ignored, jfieldID field, jboolean isStatic)
delegate jint GetIntFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
void * CallNonvirtualShortMethod
void * ReleaseCharArrayElements
delegate void DeleteWeakGlobalRefDelegateType(JNIEnv *pEnv, jweak obj)
static readonly GetStringCriticalDelegateType GetStringCriticalDelegate
static readonly GetIntFieldDelegateType GetIntFieldDelegate
static readonly ReleaseIntArrayElementsDelegateType ReleaseIntArrayElementsDelegate
delegate jbyte CallByteMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
delegate jint ThrowDelegateType(JNIEnv *pEnv, jthrowable throwable)
delegate void SetObjectFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jobject val)
static readonly GetDoubleArrayElementsDelegateType GetDoubleArrayElementsDelegate
delegate void SetStaticBooleanFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jboolean val)
delegate jobject ToReflectedMethodDelegateType(JNIEnv *pEnv, jclass clazz_ignored, jmethodID method, jboolean isStatic)
static readonly GetByteArrayRegionDelegateType GetByteArrayRegionDelegate
static readonly SetCharArrayRegionDelegateType SetCharArrayRegionDelegate
static readonly SetDoubleArrayRegionDelegateType SetDoubleArrayRegionDelegate
delegate jint PushLocalFrameDelegateType(JNIEnv *pEnv, jint capacity)
void * CallNonvirtualDoubleMethod
delegate void ReleaseDoubleArrayElementsDelegateType(JNIEnv *pEnv, jdoubleArray array, jdouble *elems, jint mode)
delegate jboolean CallStaticBooleanMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
void * SetStaticByteField
static readonly SetCharFieldDelegateType SetCharFieldDelegate
delegate jshort * GetShortArrayElementsDelegateType(JNIEnv *pEnv, jshortArray array, jboolean *isCopy)
delegate jfloat CallNonvirtualFloatMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
void * CallNonvirtualBooleanMethodA
void * ReleaseStringCritical
static readonly SetStaticCharFieldDelegateType SetStaticCharFieldDelegate
delegate jboolean ExceptionCheckDelegateType(JNIEnv *pEnv)
delegate jchar GetCharFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
static readonly UnregisterNativesDelegateType UnregisterNativesDelegate
void * GetLongArrayRegion
delegate jobject PopLocalFrameDelegateType(JNIEnv *pEnv, jobject result)
void * GetFloatArrayRegion
void * GetStringUTFRegion
static readonly NewByteArrayDelegateType NewByteArrayDelegate
void * CallNonvirtualByteMethod
static readonly ThrowDelegateType ThrowDelegate
delegate jmethodID GetStaticMethodIDDelegateType(JNIEnv *pEnv, jclass clazz, byte *name, byte *sig)
delegate void SetFloatFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jfloat val)
static readonly NewObjectArrayDelegateType NewObjectArrayDelegate
void * SetLongArrayRegion
void * SetShortArrayRegion
delegate jint CallIntMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
delegate jfloatArray NewFloatArrayDelegateType(JNIEnv *pEnv, jsize len)
delegate jchar CallStaticCharMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
static readonly ExceptionClearDelegateType ExceptionClearDelegate
static readonly PushLocalFrameDelegateType PushLocalFrameDelegate
static readonly NewDoubleArrayDelegateType NewDoubleArrayDelegate
delegate jchar * GetCharArrayElementsDelegateType(JNIEnv *pEnv, jcharArray array, jboolean *isCopy)
delegate jint CallStaticIntMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
static readonly IsSameObjectDelegateType IsSameObjectDelegate
delegate void GetByteArrayRegionDelegateType(JNIEnv *pEnv, jbyteArray array, jsize start, jsize len, jbyte *buf)
static readonly GetCharFieldDelegateType GetCharFieldDelegate
static readonly GetStaticIntFieldDelegateType GetStaticIntFieldDelegate
delegate jlong CallStaticLongMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
void * ReleasePrimitiveArrayCritical
delegate void DeleteLocalRefDelegateType(JNIEnv *pEnv, jobject obj)
delegate jshort CallNonvirtualShortMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
static readonly ReleaseShortArrayElementsDelegateType ReleaseShortArrayElementsDelegate
static readonly GetBooleanFieldDelegateType GetBooleanFieldDelegate
void * CallNonvirtualBooleanMethodV
static readonly GetShortArrayElementsDelegateType GetShortArrayElementsDelegate
void * CallStaticBooleanMethodA
static readonly ReleaseDoubleArrayElementsDelegateType ReleaseDoubleArrayElementsDelegate
void * GetDoubleArrayElements
static readonly LibJvm libjvm
delegate jobject NewLocalRefDelegateType(JNIEnv *pEnv, jobject obj)
delegate void SetBooleanArrayRegionDelegateType(JNIEnv *pEnv, jbooleanArray array, jsize start, jsize len, jboolean *buf)
delegate jdouble * GetDoubleArrayElementsDelegateType(JNIEnv *pEnv, jdoubleArray array, jboolean *isCopy)
static readonly ToReflectedFieldDelegateType ToReflectedFieldDelegate
void * CallNonvirtualObjectMethodV
void * CallNonvirtualCharMethod
static readonly GetMethodArgsDelegateType GetMethodArgsDelegate
delegate void SetFloatArrayRegionDelegateType(JNIEnv *pEnv, jfloatArray array, jsize start, jsize len, jfloat *buf)
static readonly NewBooleanArrayDelegateType NewBooleanArrayDelegate
static readonly CallStaticDoubleMethodADelegateType CallStaticDoubleMethodADelegate
static readonly DeleteWeakGlobalRefDelegateType DeleteWeakGlobalRefDelegate
static readonly EnsureLocalCapacityDelegateType EnsureLocalCapacityDelegate
void * GetLongArrayElements
void * GetFloatArrayElements
void * EnsureLocalCapacity
void * CallStaticFloatMethodV
static readonly ReleaseStringUTFCharsDelegateType ReleaseStringUTFCharsDelegate
delegate jshort CallShortMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
delegate void ReleaseIntArrayElementsDelegateType(JNIEnv *pEnv, jintArray array, jint *elems, jint mode)
void * SetStaticLongField
delegate jbyteArray NewByteArrayDelegateType(JNIEnv *pEnv, jsize len)
delegate jboolean IsSameObjectDelegateType(JNIEnv *pEnv, jobject obj1, jobject obj2)
static readonly GetStaticFieldIDDelegateType GetStaticFieldIDDelegate
delegate void ReleaseShortArrayElementsDelegateType(JNIEnv *pEnv, jshortArray array, jshort *elems, jint mode)
void * GetStaticFloatField
static readonly NewIntArrayDelegateType NewIntArrayDelegate
delegate jbyte CallStaticByteMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
static readonly GetStaticBooleanFieldDelegateType GetStaticBooleanFieldDelegate
void * CallNonvirtualIntMethod
delegate void SetStaticFloatFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jfloat val)
delegate jdouble CallNonvirtualDoubleMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
delegate jint * GetIntArrayElementsDelegateType(JNIEnv *pEnv, jintArray array, jboolean *isCopy)
static readonly CallCharMethodADelegateType CallCharMethodADelegate
static readonly FindClassDelegateType FindClassDelegate
static readonly NewStringDelegateType NewStringDelegate
void * CallNonvirtualVoidMethodA
static readonly NewLongArrayDelegateType NewLongArrayDelegate
static readonly ReleaseCharArrayElementsDelegateType ReleaseCharArrayElementsDelegate
static readonly GetVersionDelegateType GetVersionDelegate
void * ReleaseDoubleArrayElements
static readonly CallLongMethodADelegateType CallLongMethodADelegate
static readonly SetFloatArrayRegionDelegateType SetFloatArrayRegionDelegate
static readonly NewDirectByteBufferDelegateType NewDirectByteBufferDelegate
static readonly SetIntArrayRegionDelegateType SetIntArrayRegionDelegate
void * CallNonvirtualLongMethodA
delegate void SetLongFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jlong val)
delegate jsize GetArrayLengthDelegateType(JNIEnv *pEnv, jarray array)
static readonly CallIntMethodADelegateType CallIntMethodADelegate
static readonly CallShortMethodADelegateType CallShortMethodADelegate
delegate jweak NewWeakGlobalRefDelegateType(JNIEnv *pEnv, jobject obj)
static readonly GetObjectRefTypeDelegateType GetObjectRefTypeDelegate
delegate void GetStringRegionDelegateType(JNIEnv *pEnv, jstring str, jsize start, jsize len, jchar *buf)
void * GetByteArrayRegion
delegate jint ThrowNewDelegateType(JNIEnv *pEnv, jclass clazz, byte *msg)
delegate void SetStaticIntFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jint val)
static readonly CallNonvirtualCharMethodADelegateType CallNonvirtualCharMethodADelegate
static readonly DeleteLocalRefDelegateType DeleteLocalRefDelegate
static readonly SetStaticFloatFieldDelegateType SetStaticFloatFieldDelegate
delegate jchar GetStaticCharFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
static readonly DeleteGlobalRefDelegateType DeleteGlobalRefDelegate
void * GetDirectBufferAddress
void * GetStaticShortField
delegate jobject GetStaticObjectFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
static readonly CallBooleanMethodADelegateType CallBooleanMethodADelegate
delegate jboolean IsInstanceOfDelegateType(JNIEnv *pEnv, jobject obj, jclass clazz)
delegate void CallStaticVoidMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
void * CallNonvirtualByteMethodV
delegate jshort GetStaticShortFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
static readonly CallStaticLongMethodADelegateType CallStaticLongMethodADelegate
static readonly GetObjectArrayElementDelegateType GetObjectArrayElementDelegate
void * CallStaticIntMethod
delegate jobject CallStaticObjectMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
void * CallNonvirtualObjectMethodA
delegate void ReleasePrimitiveArrayCriticalDelegateType(JNIEnv *pEnv, jarray array, void *carray, jint mode)
delegate jlongArray NewLongArrayDelegateType(JNIEnv *pEnv, jsize len)
delegate jbyte CallNonvirtualByteMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
void * GetCharArrayRegion
static readonly FatalErrorDelegateType FatalErrorDelegate
void * CallNonvirtualIntMethodV
static readonly GetBooleanArrayRegionDelegateType GetBooleanArrayRegionDelegate
void * CallStaticObjectMethodA
delegate jshort GetShortFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
static readonly GetStaticDoubleFieldDelegateType GetStaticDoubleFieldDelegate
static readonly JNINativeInterfaceHandle handle
delegate jobject AllocObjectDelegateType(JNIEnv *pEnv, jclass clazz)
static readonly GetDoubleFieldDelegateType GetDoubleFieldDelegate
static readonly ExceptionOccurredDelegateType ExceptionOccurredDelegate
void * GetStaticLongField
void * NewDirectByteBuffer
void * CallNonvirtualShortMethodA
void * CallStaticVoidMethodV
delegate jboolean GetBooleanFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
delegate jdoubleArray NewDoubleArrayDelegateType(JNIEnv *pEnv, jsize len)
static readonly GetStringCharsDelegateType GetStringCharsDelegate
delegate jint GetJavaVMDelegateType(JNIEnv *pEnv, JavaVM **ppJavaVM)
static readonly SetStaticByteFieldDelegateType SetStaticByteFieldDelegate
delegate jmethodID GetMethodIDDelegateType(JNIEnv *pEnv, jclass clazz, byte *name, byte *sig)
delegate jint GetStaticIntFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
delegate void SetStaticLongFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jlong val)
static readonly GetJavaVMDelegateType GetJavaVMDelegate
delegate void SetIntFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jint val)
delegate jbyte GetByteFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
void * CallStaticBooleanMethodV
static readonly GetFloatArrayRegionDelegateType GetFloatArrayRegionDelegate
static readonly CallStaticCharMethodADelegateType CallStaticCharMethodADelegate
void * GetCharArrayElements
static readonly GetFloatFieldDelegateType GetFloatFieldDelegate
void * CallStaticShortMethodV
static readonly CallNonvirtualFloatMethodADelegateType CallNonvirtualFloatMethodADelegate
static readonly GetStaticCharFieldDelegateType GetStaticCharFieldDelegate
delegate void SetByteArrayRegionDelegateType(JNIEnv *pEnv, jbyteArray array, jsize start, jsize len, jbyte *buf)
delegate void CallNonvirtualVoidMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
static readonly GetObjectClassDelegateType GetObjectClassDelegate
void * SetStaticShortField
delegate jfloat GetStaticFloatFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
static readonly FromReflectedMethodDelegateType FromReflectedMethodDelegate
delegate jbooleanArray NewBooleanArrayDelegateType(JNIEnv *pEnv, jsize len)
delegate jchar * GetStringCriticalDelegateType(JNIEnv *pEnv, jstring str, jboolean *isCopy)
void * CallStaticLongMethodV
static readonly SetByteFieldDelegateType SetByteFieldDelegate
void * CallNonvirtualShortMethodV
delegate jfloat CallFloatMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
delegate jfieldID GetFieldIDDelegateType(JNIEnv *pEnv, jclass clazz, byte *name, byte *sig)
void * ReleaseStringChars
void * SetStaticCharField
static readonly ReleaseLongArrayElementsDelegateType ReleaseLongArrayElementsDelegate
delegate void GetLongArrayRegionDelegateType(JNIEnv *pEnv, jlongArray array, jsize start, jsize len, jlong *buf)
delegate jint GetVersionDelegateType(JNIEnv *pEnv)
void * CallNonvirtualLongMethod
static readonly DefineClassDelegateType DefineClassDelegate
delegate void SetBooleanFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jboolean val)
static readonly FromReflectedFieldDelegateType FromReflectedFieldDelegate
static readonly SetShortArrayRegionDelegateType SetShortArrayRegionDelegate
static readonly CallVoidMethodADelegateType CallVoidMethodADelegate
static readonly CallStaticFloatMethodADelegateType CallStaticFloatMethodADelegate
static readonly GetShortArrayRegionDelegateType GetShortArrayRegionDelegate
delegate jint EnsureLocalCapacityDelegateType(JNIEnv *pEnv, jint capacity)
static readonly CallByteMethodADelegateType CallByteMethodADelegate
static readonly GetFieldIDDelegateType GetFieldIDDelegate
void * CallStaticDoubleMethodV
delegate jlong GetDirectBufferCapacityDelegateType(JNIEnv *pEnv, jobject buf)
delegate void GetCharArrayRegionDelegateType(JNIEnv *pEnv, jcharArray array, jsize start, jsize len, jchar *buf)
void * CallNonvirtualVoidMethod
void * GetPrimitiveArrayCritical
void * ReleaseByteArrayElements
delegate void GetShortArrayRegionDelegateType(JNIEnv *pEnv, jshortArray array, jsize start, jsize len, jshort *buf)
void * CallStaticCharMethodV
void * CallStaticByteMethodV
delegate void SetShortArrayRegionDelegateType(JNIEnv *pEnv, jshortArray array, jsize start, jsize len, jshort *buf)
static readonly NewFloatArrayDelegateType NewFloatArrayDelegate
static readonly MonitorExitDelegateType MonitorExitDelegate
void * CallNonvirtualCharMethodA
delegate jfieldID GetStaticFieldIDDelegateType(JNIEnv *pEnv, jclass clazz, byte *name, byte *sig)
static readonly SetStaticBooleanFieldDelegateType SetStaticBooleanFieldDelegate
static JNINativeInterface()
Initializes the static instance.
static readonly SetBooleanFieldDelegateType SetBooleanFieldDelegate
void * GetDoubleArrayRegion
static readonly GetIntArrayElementsDelegateType GetIntArrayElementsDelegate
delegate jfloat CallStaticFloatMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
delegate jobject NewGlobalRefDelegateType(JNIEnv *pEnv, jobject obj)
static readonly GetCharArrayElementsDelegateType GetCharArrayElementsDelegate
void * GetDirectBufferCapacity
delegate jclass FindClassDelegateType(JNIEnv *pEnv, byte *name)
void * SetStaticBooleanField
static readonly ReleaseFloatArrayElementsDelegateType ReleaseFloatArrayElementsDelegate
static readonly GetStaticLongFieldDelegateType GetStaticLongFieldDelegate
void * GetBooleanArrayElements
void * CallNonvirtualFloatMethod
static readonly GetStaticObjectFieldDelegateType GetStaticObjectFieldDelegate
static readonly SetDoubleFieldDelegateType SetDoubleFieldDelegate
static readonly SetStaticDoubleFieldDelegateType SetStaticDoubleFieldDelegate
delegate jdouble GetStaticDoubleFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
void * SetStaticDoubleField
static readonly GetIntArrayRegionDelegateType GetIntArrayRegionDelegate
static readonly NewGlobalRefDelegateType NewGlobalRefDelegate
void * GetBooleanArrayRegion
delegate void ReleaseFloatArrayElementsDelegateType(JNIEnv *pEnv, jfloatArray array, jfloat *elems, jint mode)
void * ReleaseShortArrayElements
static readonly GetByteFieldDelegateType GetByteFieldDelegate
void * GetByteArrayElements
delegate jfloat GetFloatFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
delegate void SetStaticDoubleFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jdouble val)
delegate jint GetStringUTFLengthDelegateType(JNIEnv *pEnv, jstring str)
static readonly NewObjectADelegateType NewObjectADelegate
void * GetStaticDoubleField
void * CallNonvirtualObjectMethod
void * CallStaticLongMethod
static readonly GetFloatArrayElementsDelegateType GetFloatArrayElementsDelegate
static readonly ToReflectedMethodDelegateType ToReflectedMethodDelegate
delegate void ReleaseBooleanArrayElementsDelegateType(JNIEnv *pEnv, jbooleanArray array, jboolean *elems, jint mode)
delegate jdouble CallDoubleMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
void * GetStaticObjectField
delegate jclass GetObjectClassDelegateType(JNIEnv *pEnv, jobject obj)
delegate void SetObjectArrayElementDelegateType(JNIEnv *pEnv, jarray array, jsize index, jobject val)
void * FromReflectedField
delegate jcharArray NewCharArrayDelegateType(JNIEnv *pEnv, jsize len)
static readonly GetStringUTFLengthDelegateType GetStringUTFLengthDelegate
void * SetObjectArrayElement
void * SetStaticFloatField
static readonly RegisterNativesDelegateType RegisterNativesDelegate
void * CallStaticDoubleMethodA
delegate jbyte GetStaticByteFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
delegate void SetLongArrayRegionDelegateType(JNIEnv *pEnv, jlongArray array, jsize start, jsize len, jlong *buf)
static readonly SetStaticObjectFieldDelegateType SetStaticObjectFieldDelegate
delegate jclass DefineClassDelegateType(JNIEnv *pEnv, byte *name, jobject loader, jbyte *pbuf, jint length)
static readonly CallStaticByteMethodADelegateType CallStaticByteMethodADelegate
delegate jdouble CallStaticDoubleMethodADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
void * SetDoubleArrayRegion
static readonly ReleaseByteArrayElementsDelegateType ReleaseByteArrayElementsDelegate
delegate jobjectArray NewObjectArrayDelegateType(JNIEnv *pEnv, jsize len, jclass clazz, jobject init)
delegate jdouble GetDoubleFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
static readonly MonitorEnterDelegateType MonitorEnterDelegate
delegate void FatalErrorDelegateType(JNIEnv *pEnv, byte *msg)
static readonly ReleaseBooleanArrayElementsDelegateType ReleaseBooleanArrayElementsDelegate
void * CallStaticShortMethod
delegate jobject GetObjectFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
void * DeleteWeakGlobalRef
void * CallStaticFloatMethodA
static readonly GetArrayLengthDelegateType GetArrayLengthDelegate
delegate jobject CallObjectMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
static readonly GetDirectBufferCapacityDelegateType GetDirectBufferCapacityDelegate
delegate void * GetDirectBufferAddressDelegateType(JNIEnv *pEnv, jobject buf)
delegate jchar CallCharMethodADelegateType(JNIEnv *pEnv, jobject obj, jmethodID methodID, JValue *args)
delegate void SetCharFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jchar val)
static readonly SetLongFieldDelegateType SetLongFieldDelegate
void * GetIntArrayElements
delegate void SetStaticObjectFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jobject val)
delegate jfloat * GetFloatArrayElementsDelegateType(JNIEnv *pEnv, jfloatArray array, jboolean *isCopy)
delegate jint RegisterNativesDelegateType(JNIEnv *pEnv, jclass clazz, JNIEnv.JNINativeMethod *methods, jint nMethods)
void * GetShortArrayElements
static readonly SetBooleanArrayRegionDelegateType SetBooleanArrayRegionDelegate
static readonly ExceptionDescribeDelegateType ExceptionDescribeDelegate
delegate void GetBooleanArrayRegionDelegateType(JNIEnv *pEnv, jbooleanArray array, jsize start, jsize len, jboolean *buf)
static readonly CallStaticIntMethodADelegateType CallStaticIntMethodADelegate
delegate jlong GetLongFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID)
delegate jlong CallNonvirtualLongMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
static readonly GetCharArrayRegionDelegateType GetCharArrayRegionDelegate
delegate void ReleaseStringCharsDelegateType(JNIEnv *pEnv, jstring str, jchar *chars)
static readonly GetStaticShortFieldDelegateType GetStaticShortFieldDelegate
static readonly SetShortFieldDelegateType SetShortFieldDelegate
static nint GetLibJvmFunctionHandle(string name, int argl=-1)
Gets the native handle for a function pointer in libjvm.
void * CallStaticCharMethod
static readonly SetIntFieldDelegateType SetIntFieldDelegate
delegate jint GetStringLengthDelegateType(JNIEnv *pEnv, jstring str)
delegate void SetStaticCharFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID, jchar val)
static readonly ExceptionCheckDelegateType ExceptionCheckDelegate
delegate void SetIntArrayRegionDelegateType(JNIEnv *pEnv, jintArray array, jsize start, jsize len, jint *buf)
static readonly GetStaticMethodIDDelegateType GetStaticMethodIDDelegate
static readonly SetFloatFieldDelegateType SetFloatFieldDelegate
delegate void ExceptionDescribeDelegateType(JNIEnv *pEnv)
static readonly CallStaticVoidMethodADelegateType CallStaticVoidMethodADelegate
static readonly GetStringLengthDelegateType GetStringLengthDelegate
static readonly SetStaticShortFieldDelegateType SetStaticShortFieldDelegate
void * GetStaticBooleanField
static readonly NewStringUTFDelegateType NewStringUTFDelegate
void * GetStaticByteField
delegate void * GetPrimitiveArrayCriticalDelegateType(JNIEnv *pEnv, jarray array, jboolean *isCopy)
void * CallStaticByteMethodA
delegate jint CallNonvirtualIntMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
static readonly GetLongArrayRegionDelegateType GetLongArrayRegionDelegate
delegate void ReleaseStringUTFCharsDelegateType(JNIEnv *pEnv, jstring @string, byte *utf)
static readonly CallNonvirtualByteMethodADelegateType CallNonvirtualByteMethodADelegate
void * ReleaseBooleanArrayElements
static readonly CallNonvirtualObjectMethodADelegateType CallNonvirtualObjectMethodADelegate
delegate void DeleteGlobalRefDelegateType(JNIEnv *pEnv, jobject obj)
static readonly CallNonvirtualBooleanMethodADelegateType CallNonvirtualBooleanMethodADelegate
static readonly CallNonvirtualIntMethodADelegateType CallNonvirtualIntMethodADelegate
void * SetCharArrayRegion
delegate int GetMethodArgsDelegateType(JNIEnv *pEnv, jmethodID methodID, byte *sig)
delegate jshortArray NewShortArrayDelegateType(JNIEnv *pEnv, jsize len)
void * CallNonvirtualLongMethodV
void * CallNonvirtualFloatMethodV
delegate jlong GetStaticLongFieldDelegateType(JNIEnv *pEnv, jclass clazz, jfieldID fieldID)
delegate jobject NewObjectADelegateType(JNIEnv *pEnv, jclass clazz, jmethodID methodID, JValue *args)
static readonly CallDoubleMethodADelegateType CallDoubleMethodADelegate
delegate void ReleaseLongArrayElementsDelegateType(JNIEnv *pEnv, jlongArray array, jlong *elems, jint mode)
void * CallBooleanMethodV
static readonly GetSuperclassDelegateType GetSuperclassDelegate
static JNINativeInterface * Handle
Gets a pointer to the JNINativeInterface table.
static readonly GetStringUTFCharsDelegateType GetStringUTFCharsDelegate
delegate byte * GetStringUTFCharsDelegateType(JNIEnv *pEnv, jstring @string, jboolean *isCopy)
void * GetStringUTFLength
delegate jboolean CallNonvirtualBooleanMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
static readonly ReleaseStringCriticalDelegateType ReleaseStringCriticalDelegate
delegate jfieldID FromReflectedFieldDelegateType(JNIEnv *pEnv, jfieldID fieldID)
void * CallNonvirtualBooleanMethod
void * CallNonvirtualVoidMethodV
static readonly ThrowNewDelegateType ThrowNewDelegate
delegate jbyte * GetByteArrayElementsDelegateType(JNIEnv *pEnv, jbyteArray array, jboolean *isCopy)
static readonly GetDirectBufferAddressDelegateType GetDirectBufferAddressDelegate
static readonly ReleaseStringCharsDelegateType ReleaseStringCharsDelegate
delegate void GetIntArrayRegionDelegateType(JNIEnv *pEnv, jintArray array, jsize start, jsize len, jint *buf)
void * CallStaticIntMethodV
static readonly NewCharArrayDelegateType NewCharArrayDelegate
delegate void SetCharArrayRegionDelegateType(JNIEnv *pEnv, jcharArray array, jsize start, jsize len, jchar *buf)
static readonly GetObjectFieldDelegateType GetObjectFieldDelegate
static readonly SetObjectFieldDelegateType SetObjectFieldDelegate
delegate jchar * GetStringCharsDelegateType(JNIEnv *pEnv, jstring str, jboolean *isCopy)
void * FromReflectedMethod
static readonly CallNonvirtualVoidMethodADelegateType CallNonvirtualVoidMethodADelegate
delegate jobject GetObjectArrayElementDelegateType(JNIEnv *pEnv, jarray array, jsize index)
static readonly SetObjectArrayElementDelegateType SetObjectArrayElementDelegate
void * CallNonvirtualDoubleMethodA
void * CallStaticCharMethodA
delegate jobject NewDirectByteBufferDelegateType(JNIEnv *pEnv, IntPtr address, jlong capacity)
void * CallStaticObjectMethod
void * CallStaticLongMethodA
static readonly GetShortFieldDelegateType GetShortFieldDelegate
delegate void ExceptionClearDelegateType(JNIEnv *pEnv)
delegate void GetFloatArrayRegionDelegateType(JNIEnv *pEnv, jfloatArray array, jsize start, jsize len, jfloat *buf)
static readonly SetStaticIntFieldDelegateType SetStaticIntFieldDelegate
static readonly GetLongArrayElementsDelegateType GetLongArrayElementsDelegate
delegate void SetByteFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jbyte val)
delegate void GetStringUTFRegionDelegateType(JNIEnv *pEnv, jstring str, jsize start, jsize len, byte *buf)
delegate jboolean * GetBooleanArrayElementsDelegateType(JNIEnv *pEnv, jbooleanArray array, jboolean *isCopy)
static readonly GetStringUTFRegionDelegateType GetStringUTFRegionDelegate
delegate jboolean IsAssignableFromDelegateType(JNIEnv *pEnv, jclass sub, jclass super)
void * CallStaticVoidMethod
static readonly NewWeakGlobalRefDelegateType NewWeakGlobalRefDelegate
void * GetObjectArrayElement
static readonly GetStaticFloatFieldDelegateType GetStaticFloatFieldDelegate
void * SetStaticObjectField
delegate jchar CallNonvirtualCharMethodADelegateType(JNIEnv *pEnv, jobject obj, jclass clazz, jmethodID methodID, JValue *args)
void * SetByteArrayRegion
static readonly CallNonvirtualDoubleMethodADelegateType CallNonvirtualDoubleMethodADelegate
void * GetStaticCharField
static readonly GetPrimitiveArrayCriticalDelegateType GetPrimitiveArrayCriticalDelegate
delegate void SetDoubleFieldDelegateType(JNIEnv *pEnv, jobject obj, jfieldID fieldID, jdouble val)
void * ReleaseFloatArrayElements
void * CallNonvirtualCharMethodV
static readonly SetLongArrayRegionDelegateType SetLongArrayRegionDelegate
void * CallStaticFloatMethod
delegate jobject NewStringUTFDelegateType(JNIEnv *pEnv, byte *bytes)
delegate void ReleaseStringCriticalDelegateType(JNIEnv *pEnv, jstring str, jchar *cstring)
static readonly CallStaticObjectMethodADelegateType CallStaticObjectMethodADelegate
void * CallStaticByteMethod
static readonly CallStaticShortMethodADelegateType CallStaticShortMethodADelegate
static readonly NewShortArrayDelegateType NewShortArrayDelegate
static readonly IsAssignableFromDelegateType IsAssignableFromDelegate
static readonly PopLocalFrameDelegateType PopLocalFrameDelegate
void * ReleaseLongArrayElements
delegate JObjectRefType GetObjectRefTypeDelegateType(JNIEnv *pEnv, jobject obj)
static readonly AllocObjectDelegateType AllocObjectDelegate
delegate jthrowable ExceptionOccurredDelegateType(JNIEnv *pEnv)
static readonly GetBooleanArrayElementsDelegateType GetBooleanArrayElementsDelegate
void * ReleaseIntArrayElements
delegate jintArray NewIntArrayDelegateType(JNIEnv *pEnv, jsize len)
delegate jclass GetSuperclassDelegateType(JNIEnv *pEnv, jclass sub)
void * CallNonvirtualFloatMethodA
delegate jlong * GetLongArrayElementsDelegateType(JNIEnv *pEnv, jlongArray array, jboolean *isCopy)
void * CallNonvirtualDoubleMethodV
delegate void GetDoubleArrayRegionDelegateType(JNIEnv *pEnv, jdoubleArray array, jsize start, jsize len, jdouble *buf)
static readonly GetByteArrayElementsDelegateType GetByteArrayElementsDelegate
static readonly CallFloatMethodADelegateType CallFloatMethodADelegate
static readonly SetByteArrayRegionDelegateType SetByteArrayRegionDelegate
Union type that represents 'jvalue'.