Java サーバー用の Windows サービスを作成しようとしています。これが私のinvokeshutdown
メソッドの書き方です。しかし、ここで参照を取得する方法について混乱してjobject
います。
DWORD WINAPI InvokeShutdown( LPVOID lpParam ) {
JNIEnv *env;
jclass cls;
jmethodID mid;
//Since the JVM was created in a another thread. We have to attach the thread
//to JVM before making " calls
vm->AttachCurrentThread((void **)&env, 0);
cls = env->FindClass("com.my.internal.Launcher");
// Create the argument list.
va_list args;
va_start(args, "-dir=stop");
mid = env->GetMethodID(env, cls, "stop", "()V");
env->CallVoidMethodV(env, obj, mid, args);
vm->DetachCurrentThread();
Log( "Detached thread\n");
return 0;
}
どうやって入るobj
の?env->CallVoidMethodV(env, obj, mid, args);