change flow of util::win::is_elevated
This commit is contained in:
+4
-6
@@ -68,7 +68,9 @@ pub fn elevate(closing: ElevationExitMethod) {
|
||||
pub fn is_elevated() -> bool {
|
||||
let mut token: HANDLE = HANDLE::default();
|
||||
unsafe {
|
||||
if OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &mut token).is_ok() {
|
||||
if !OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &mut token).is_ok() {
|
||||
return false;
|
||||
}
|
||||
let mut elevation = TOKEN_ELEVATION::default();
|
||||
let mut size = u32::try_from(std::mem::size_of::<TOKEN_ELEVATION>()).unwrap();
|
||||
let result = GetTokenInformation(
|
||||
@@ -79,10 +81,6 @@ pub fn is_elevated() -> bool {
|
||||
&mut size,
|
||||
);
|
||||
CloseHandle(token).unwrap();
|
||||
if result.is_ok() && elevation.TokenIsElevated != 0 {
|
||||
return true;
|
||||
result.is_ok() && elevation.TokenIsElevated != 0
|
||||
}
|
||||
}
|
||||
}
|
||||
false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user