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,
|
||||
password);
|
||||
|
||||
if (result == 0) {
|
||||
win32_throw_last_error(env);
|
||||
}
|
||||
|
||||
if (startName != NULL) {
|
||||
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_name, (const jchar *)name);
|
||||
|
||||
if (result == 0) {
|
||||
win32_throw_last_error(env);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -172,12 +172,12 @@ JNIEXPORT jlong SIGAR_JNI(win32_Service_OpenSCManager)
|
|||
LPCTSTR machine = (LPCTSTR)env->GetStringChars(jmachine, NULL);
|
||||
jlong result = (jlong)OpenSCManager(machine, NULL, access);
|
||||
|
||||
env->ReleaseStringChars(jmachine, (const jchar *)machine);
|
||||
|
||||
if (!result) {
|
||||
win32_throw_last_error(env);
|
||||
}
|
||||
|
||||
env->ReleaseStringChars(jmachine, (const jchar *)machine);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -189,12 +189,12 @@ JNIEXPORT jlong SIGAR_JNI(win32_Service_OpenService)
|
|||
jlong result =
|
||||
(jlong)OpenService((SC_HANDLE)handle, service, access);
|
||||
|
||||
env->ReleaseStringChars(jservice, (const jchar *)service);
|
||||
|
||||
if (!result) {
|
||||
win32_throw_last_error(env);
|
||||
}
|
||||
|
||||
env->ReleaseStringChars(jservice, (const jchar *)service);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue