win32_throw_last_error right after function call to preserve GetLastError
This commit is contained in:
parent
547f584064
commit
4d4c242493
|
@ -143,6 +143,10 @@ JNIEXPORT jlong SIGAR_JNI(win32_Service_CreateService)
|
||||||
NULL, NULL, depend, startName,
|
NULL, NULL, depend, startName,
|
||||||
password);
|
password);
|
||||||
|
|
||||||
|
if (result == 0) {
|
||||||
|
win32_throw_last_error(env);
|
||||||
|
}
|
||||||
|
|
||||||
if (startName != NULL) {
|
if (startName != NULL) {
|
||||||
env->ReleaseStringChars(j_startName, (const jchar *)startName);
|
env->ReleaseStringChars(j_startName, (const jchar *)startName);
|
||||||
}
|
}
|
||||||
|
@ -151,10 +155,6 @@ JNIEXPORT jlong SIGAR_JNI(win32_Service_CreateService)
|
||||||
env->ReleaseStringChars(j_display, (const jchar *)display);
|
env->ReleaseStringChars(j_display, (const jchar *)display);
|
||||||
env->ReleaseStringChars(j_name, (const jchar *)name);
|
env->ReleaseStringChars(j_name, (const jchar *)name);
|
||||||
|
|
||||||
if (result == 0) {
|
|
||||||
win32_throw_last_error(env);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,12 +172,12 @@ JNIEXPORT jlong SIGAR_JNI(win32_Service_OpenSCManager)
|
||||||
LPCTSTR machine = (LPCTSTR)env->GetStringChars(jmachine, NULL);
|
LPCTSTR machine = (LPCTSTR)env->GetStringChars(jmachine, NULL);
|
||||||
jlong result = (jlong)OpenSCManager(machine, NULL, access);
|
jlong result = (jlong)OpenSCManager(machine, NULL, access);
|
||||||
|
|
||||||
env->ReleaseStringChars(jmachine, (const jchar *)machine);
|
|
||||||
|
|
||||||
if (!result) {
|
if (!result) {
|
||||||
win32_throw_last_error(env);
|
win32_throw_last_error(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
env->ReleaseStringChars(jmachine, (const jchar *)machine);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,12 +189,12 @@ JNIEXPORT jlong SIGAR_JNI(win32_Service_OpenService)
|
||||||
jlong result =
|
jlong result =
|
||||||
(jlong)OpenService((SC_HANDLE)handle, service, access);
|
(jlong)OpenService((SC_HANDLE)handle, service, access);
|
||||||
|
|
||||||
env->ReleaseStringChars(jservice, (const jchar *)service);
|
|
||||||
|
|
||||||
if (!result) {
|
if (!result) {
|
||||||
win32_throw_last_error(env);
|
win32_throw_last_error(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
env->ReleaseStringChars(jservice, (const jchar *)service);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue