remove IsWow64Process2

This commit is contained in:
rustdesk 2024-04-20 19:24:44 +08:00
parent c81c4f9114
commit 0365c94407
2 changed files with 9 additions and 64 deletions

View File

@ -698,19 +698,4 @@ extern "C"
return isRunning;
}
} // end of extern "C"
extern "C"
{
int get_native_machine()
{
USHORT processMachine = 0;
USHORT nativeMachine = 0;
BOOL res = IsWow64Process2(GetCurrentProcess(), &processMachine, &nativeMachine);
if (res == TRUE) {
return (int)nativeMachine;
} else {
return -1;
}
}
}
} // end of extern "C"

View File

@ -460,7 +460,6 @@ extern "C" {
fn is_win_down() -> BOOL;
fn is_local_system() -> BOOL;
fn alloc_console_and_redirect();
fn get_native_machine() -> i32;
fn is_service_running_w(svc_name: *const u16) -> bool;
}
@ -2370,55 +2369,16 @@ impl Drop for WallPaperRemover {
}
}
// See winnt.h for more information.
#[derive(Clone, Copy)]
pub enum MachineArch {
Unknown = 0,
I386 = 0x014c,
ARM = 0x01c0,
AMD64 = 0x8664,
ARM64 = 0xAA64,
}
pub fn get_machine_arch() -> Result<MachineArch, io::Error> {
let native_machine = unsafe { get_native_machine() };
if native_machine != -1 {
let native_machine = native_machine as u16;
let check_types = [
MachineArch::I386,
MachineArch::AMD64,
MachineArch::ARM,
MachineArch::ARM64,
];
for check_type in check_types.iter() {
if *check_type as u16 == native_machine {
return Ok(*check_type);
}
}
Ok(MachineArch::Unknown)
} else {
Err(io::Error::last_os_error())
}
}
pub fn get_amyuni_exe_name() -> Option<String> {
match get_machine_arch() {
Ok(arch) => {
let exe = match arch {
MachineArch::I386 => "deviceinstaller.exe",
MachineArch::AMD64 => "deviceinstaller64.exe",
_ => {
log::error!("Unsupported machine architecture");
return None;
}
};
Some(exe.to_string())
let exe = match std::env::consts::ARCH {
"x86" => "deviceinstaller.exe",
"x86_64" => "deviceinstaller64.exe",
_ => {
log::error!("Unsupported machine architecture");
return None;
}
Err(e) => {
log::warn!("Failed to get machine architecture: {}", e);
None
}
}
};
Some(exe.to_string())
}
fn get_uninstall_amyuni_idd(path: &str) -> String {