mirror of
https://github.com/weyne85/rustdesk.git
synced 2025-10-29 17:00:05 +00:00
Refact, replace GetLastError() by std::io::Error::last_os_error()
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
use hbb_common::{allow_err, bail, lazy_static, log, ResultType};
|
||||
use std::sync::{
|
||||
mpsc::{channel, Sender},
|
||||
Mutex,
|
||||
use std::{
|
||||
io::Error,
|
||||
sync::{
|
||||
mpsc::{channel, Sender},
|
||||
Mutex,
|
||||
},
|
||||
};
|
||||
use winapi::{
|
||||
ctypes::c_int,
|
||||
@@ -10,10 +13,7 @@ use winapi::{
|
||||
ntdef::NULL,
|
||||
windef::{HHOOK, POINT},
|
||||
},
|
||||
um::{
|
||||
errhandlingapi::GetLastError, libloaderapi::GetModuleHandleExA,
|
||||
processthreadsapi::GetCurrentThreadId, winuser::*,
|
||||
},
|
||||
um::{libloaderapi::GetModuleHandleExA, processthreadsapi::GetCurrentThreadId, winuser::*},
|
||||
};
|
||||
|
||||
const GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT: u32 = 2;
|
||||
@@ -43,8 +43,8 @@ fn do_hook(tx: Sender<String>) -> ResultType<(HHOOK, HHOOK)> {
|
||||
&mut hm_keyboard as _,
|
||||
) {
|
||||
tx.send(format!(
|
||||
"Failed to GetModuleHandleExA, error: {}",
|
||||
GetLastError()
|
||||
"Failed to GetModuleHandleExA, error: {:?}",
|
||||
Error::last_os_error()
|
||||
))?;
|
||||
return Ok(invalid_ret);
|
||||
}
|
||||
@@ -55,8 +55,8 @@ fn do_hook(tx: Sender<String>) -> ResultType<(HHOOK, HHOOK)> {
|
||||
&mut hm_mouse as _,
|
||||
) {
|
||||
tx.send(format!(
|
||||
"Failed to GetModuleHandleExA, error: {}",
|
||||
GetLastError()
|
||||
"Failed to GetModuleHandleExA, error: {:?}",
|
||||
Error::last_os_error()
|
||||
))?;
|
||||
return Ok(invalid_ret);
|
||||
}
|
||||
@@ -68,7 +68,10 @@ fn do_hook(tx: Sender<String>) -> ResultType<(HHOOK, HHOOK)> {
|
||||
0,
|
||||
);
|
||||
if hook_keyboard.is_null() {
|
||||
tx.send(format!(" SetWindowsHookExA keyboard {}", GetLastError()))?;
|
||||
tx.send(format!(
|
||||
" SetWindowsHookExA keyboard, error {:?}",
|
||||
Error::last_os_error()
|
||||
))?;
|
||||
return Ok(invalid_ret);
|
||||
}
|
||||
|
||||
@@ -76,9 +79,15 @@ fn do_hook(tx: Sender<String>) -> ResultType<(HHOOK, HHOOK)> {
|
||||
if hook_mouse.is_null() {
|
||||
if FALSE == UnhookWindowsHookEx(hook_keyboard) {
|
||||
// Fatal error
|
||||
log::error!(" UnhookWindowsHookEx keyboard {}", GetLastError());
|
||||
log::error!(
|
||||
" UnhookWindowsHookEx keyboard, error {:?}",
|
||||
Error::last_os_error()
|
||||
);
|
||||
}
|
||||
tx.send(format!(" SetWindowsHookExA mouse {}", GetLastError()))?;
|
||||
tx.send(format!(
|
||||
" SetWindowsHookExA mouse, error {:?}",
|
||||
Error::last_os_error()
|
||||
))?;
|
||||
return Ok(invalid_ret);
|
||||
}
|
||||
|
||||
@@ -131,12 +140,18 @@ pub fn hook() -> ResultType<()> {
|
||||
|
||||
if FALSE == UnhookWindowsHookEx(hook_keyboard as _) {
|
||||
// Fatal error
|
||||
log::error!("Failed UnhookWindowsHookEx keyboard {}", GetLastError());
|
||||
log::error!(
|
||||
"Failed UnhookWindowsHookEx keyboard, error {:?}",
|
||||
Error::last_os_error()
|
||||
);
|
||||
}
|
||||
|
||||
if FALSE == UnhookWindowsHookEx(hook_mouse as _) {
|
||||
// Fatal error
|
||||
log::error!("Failed UnhookWindowsHookEx mouse {}", GetLastError());
|
||||
log::error!(
|
||||
"Failed UnhookWindowsHookEx mouse, error {:?}",
|
||||
Error::last_os_error()
|
||||
);
|
||||
}
|
||||
|
||||
*CUR_HOOK_THREAD_ID.lock().unwrap() = 0;
|
||||
@@ -162,7 +177,10 @@ pub fn unhook() -> ResultType<()> {
|
||||
let cur_hook_thread_id = CUR_HOOK_THREAD_ID.lock().unwrap();
|
||||
if *cur_hook_thread_id != 0 {
|
||||
if FALSE == PostThreadMessageA(*cur_hook_thread_id, WM_USER_EXIT_HOOK, 0, 0) {
|
||||
bail!("Failed to post message to exit hook, {}", GetLastError());
|
||||
bail!(
|
||||
"Failed to post message to exit hook, error {:?}",
|
||||
Error::last_os_error()
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ use crate::{platform::windows::get_user_token, privacy_mode::PrivacyModeState};
|
||||
use hbb_common::{allow_err, bail, log, ResultType};
|
||||
use std::{
|
||||
ffi::CString,
|
||||
io::Error,
|
||||
time::{Duration, Instant},
|
||||
};
|
||||
use winapi::{
|
||||
@@ -12,7 +13,6 @@ use winapi::{
|
||||
windef::HWND,
|
||||
},
|
||||
um::{
|
||||
errhandlingapi::GetLastError,
|
||||
handleapi::CloseHandle,
|
||||
libloaderapi::{GetModuleHandleA, GetProcAddress},
|
||||
memoryapi::{VirtualAllocEx, WriteProcessMemory},
|
||||
@@ -266,9 +266,9 @@ impl PrivacyModeImpl {
|
||||
CloseHandle(token);
|
||||
if 0 == create_res {
|
||||
bail!(
|
||||
"Failed to create privacy window process {}, code {}",
|
||||
"Failed to create privacy window process {}, error {:?}",
|
||||
cmdline,
|
||||
GetLastError()
|
||||
Error::last_os_error()
|
||||
);
|
||||
};
|
||||
|
||||
@@ -284,8 +284,8 @@ impl PrivacyModeImpl {
|
||||
CloseHandle(proc_info.hProcess);
|
||||
|
||||
bail!(
|
||||
"Failed to create privacy window process, {}",
|
||||
GetLastError()
|
||||
"Failed to create privacy window process, error {:?}",
|
||||
Error::last_os_error()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
use super::{PrivacyMode, PrivacyModeState, INVALID_PRIVACY_MODE_CONN_ID, NO_DISPLAYS};
|
||||
use crate::virtual_display_manager;
|
||||
use hbb_common::{allow_err, bail, config::Config, log, ResultType};
|
||||
use std::ops::{Deref, DerefMut};
|
||||
use std::{
|
||||
io::Error,
|
||||
ops::{Deref, DerefMut},
|
||||
};
|
||||
use virtual_display::MonitorMode;
|
||||
use winapi::{
|
||||
shared::{
|
||||
@@ -9,7 +12,6 @@ use winapi::{
|
||||
ntdef::{NULL, WCHAR},
|
||||
},
|
||||
um::{
|
||||
errhandlingapi::GetLastError,
|
||||
wingdi::{
|
||||
DEVMODEW, DISPLAY_DEVICEW, DISPLAY_DEVICE_ACTIVE, DISPLAY_DEVICE_ATTACHED_TO_DESKTOP,
|
||||
DISPLAY_DEVICE_MIRRORING_DRIVER, DISPLAY_DEVICE_PRIMARY_DEVICE, DM_POSITION,
|
||||
@@ -193,9 +195,9 @@ impl PrivacyModeImpl {
|
||||
)
|
||||
{
|
||||
bail!(
|
||||
"Failed EnumDisplaySettingsW, device name: {:?}, error code: {}",
|
||||
"Failed EnumDisplaySettingsW, device name: {:?}, error: {:?}",
|
||||
std::string::String::from_utf16(&display.name),
|
||||
GetLastError()
|
||||
Error::last_os_error()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -227,9 +229,9 @@ impl PrivacyModeImpl {
|
||||
== EnumDisplaySettingsW(dd.DeviceName.as_ptr(), ENUM_CURRENT_SETTINGS, &mut dm)
|
||||
{
|
||||
bail!(
|
||||
"Failed EnumDisplaySettingsW, device name: {:?}, error code: {}",
|
||||
"Failed EnumDisplaySettingsW, device name: {:?}, error: {:?}",
|
||||
std::string::String::from_utf16(&dd.DeviceName),
|
||||
GetLastError()
|
||||
Error::last_os_error()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user