示例#1
0
        public JvmNativeEnvironment AttachCurrentThread(ref JavaVMAttachArgs args, jvmtiVersion toolsVersion)
        {
            JniInvokeInterface jniInvokeInterface = GetRawInterface();

            JNIEnvHandle env;
            int          result = jniInvokeInterface.AttachCurrentThread(this, out env, ref args);

            return(GetEnvironment(toolsVersion).GetNativeFunctionTable(env));
        }
示例#2
0
        public JvmEnvironment GetEnvironment(jvmtiVersion version)
        {
            JniInvokeInterface jniInvokeInterface = GetRawInterface();

            jvmtiEnvHandle env;
            int            result = jniInvokeInterface.GetEnv(this, out env, version);

            JniErrorHandler.ThrowOnFailure(result);

            return(JvmEnvironment.GetOrCreateEnvironment(this, env));
        }
示例#3
0
 private JavaVM(JavaVMHandle vmHandle)
 {
     _handle             = vmHandle;
     _jniInvokeInterface = (JniInvokeInterface)Marshal.PtrToStructure(Marshal.ReadIntPtr(vmHandle.Handle), typeof(JniInvokeInterface));
 }