1pub mod apps;
2pub mod process;
3pub mod steam;
4pub mod usn_cache;
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7pub enum PrivilegeLevel {
8 StandardUser,
9 Elevated,
10 Unknown,
11}
12
13pub fn current_privilege_level() -> PrivilegeLevel {
14 platform::current_privilege_level()
15}
16
17#[cfg(windows)]
18mod platform {
19 use windows::Win32::UI::Shell::IsUserAnAdmin;
20
21 pub fn current_privilege_level() -> super::PrivilegeLevel {
22 unsafe {
23 if IsUserAnAdmin().as_bool() {
24 super::PrivilegeLevel::Elevated
25 } else {
26 super::PrivilegeLevel::StandardUser
27 }
28 }
29 }
30}
31
32#[cfg(not(windows))]
33mod platform {
34 pub fn current_privilege_level() -> super::PrivilegeLevel {
35 super::PrivilegeLevel::Unknown
36 }
37}