1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmAddFilter(dwsessionhandle : u32, strmodulename : ::windows_sys::core::PCWSTR, pprocess : *const RM_UNIQUE_PROCESS, strserviceshortname : ::windows_sys::core::PCWSTR, filteraction : RM_FILTER_ACTION) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmCancelCurrentTask(dwsessionhandle : u32) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmEndSession(dwsessionhandle : u32) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmGetFilterList(dwsessionhandle : u32, pbfilterbuf : *mut u8, cbfilterbuf : u32, cbfilterbufneeded : *mut u32) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmGetList(dwsessionhandle : u32, pnprocinfoneeded : *mut u32, pnprocinfo : *mut u32, rgaffectedapps : *mut RM_PROCESS_INFO, lpdwrebootreasons : *mut u32) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmJoinSession(psessionhandle : *mut u32, strsessionkey : ::windows_sys::core::PCWSTR) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmRegisterResources(dwsessionhandle : u32, nfiles : u32, rgsfilenames : *const ::windows_sys::core::PCWSTR, napplications : u32, rgapplications : *const RM_UNIQUE_PROCESS, nservices : u32, rgsservicenames : *const ::windows_sys::core::PCWSTR) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmRemoveFilter(dwsessionhandle : u32, strmodulename : ::windows_sys::core::PCWSTR, pprocess : *const RM_UNIQUE_PROCESS, strserviceshortname : ::windows_sys::core::PCWSTR) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmRestart(dwsessionhandle : u32, dwrestartflags : u32, fnstatus : RM_WRITE_STATUS_CALLBACK) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmShutdown(dwsessionhandle : u32, lactionflags : u32, fnstatus : RM_WRITE_STATUS_CALLBACK) -> super::super::Foundation:: WIN32_ERROR);
#[cfg(feature = "Win32_Foundation")]
::windows_targets::link!("rstrtmgr.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn RmStartSession(psessionhandle : *mut u32, dwsessionflags : u32, strsessionkey : ::windows_sys::core::PWSTR) -> super::super::Foundation:: WIN32_ERROR);
pub const CCH_RM_MAX_APP_NAME: u32 = 255u32;
pub const CCH_RM_MAX_SVC_NAME: u32 = 63u32;
pub const CCH_RM_SESSION_KEY: u32 = 32u32;
pub const RM_INVALID_PROCESS: i32 = -1i32;
pub const RM_INVALID_TS_SESSION: i32 = -1i32;
pub const RmConsole: RM_APP_TYPE = 5i32;
pub const RmCritical: RM_APP_TYPE = 1000i32;
pub const RmExplorer: RM_APP_TYPE = 4i32;
pub const RmFilterTriggerFile: RM_FILTER_TRIGGER = 1i32;
pub const RmFilterTriggerInvalid: RM_FILTER_TRIGGER = 0i32;
pub const RmFilterTriggerProcess: RM_FILTER_TRIGGER = 2i32;
pub const RmFilterTriggerService: RM_FILTER_TRIGGER = 3i32;
pub const RmForceShutdown: RM_SHUTDOWN_TYPE = 1i32;
pub const RmInvalidFilterAction: RM_FILTER_ACTION = 0i32;
pub const RmMainWindow: RM_APP_TYPE = 1i32;
pub const RmNoRestart: RM_FILTER_ACTION = 1i32;
pub const RmNoShutdown: RM_FILTER_ACTION = 2i32;
pub const RmOtherWindow: RM_APP_TYPE = 2i32;
pub const RmRebootReasonCriticalProcess: RM_REBOOT_REASON = 4i32;
pub const RmRebootReasonCriticalService: RM_REBOOT_REASON = 8i32;
pub const RmRebootReasonDetectedSelf: RM_REBOOT_REASON = 16i32;
pub const RmRebootReasonNone: RM_REBOOT_REASON = 0i32;
pub const RmRebootReasonPermissionDenied: RM_REBOOT_REASON = 1i32;
pub const RmRebootReasonSessionMismatch: RM_REBOOT_REASON = 2i32;
pub const RmService: RM_APP_TYPE = 3i32;
pub const RmShutdownOnlyRegistered: RM_SHUTDOWN_TYPE = 16i32;
pub const RmStatusErrorOnRestart: RM_APP_STATUS = 32i32;
pub const RmStatusErrorOnStop: RM_APP_STATUS = 16i32;
pub const RmStatusRestartMasked: RM_APP_STATUS = 128i32;
pub const RmStatusRestarted: RM_APP_STATUS = 8i32;
pub const RmStatusRunning: RM_APP_STATUS = 1i32;
pub const RmStatusShutdownMasked: RM_APP_STATUS = 64i32;
pub const RmStatusStopped: RM_APP_STATUS = 2i32;
pub const RmStatusStoppedOther: RM_APP_STATUS = 4i32;
pub const RmStatusUnknown: RM_APP_STATUS = 0i32;
pub const RmUnknownApp: RM_APP_TYPE = 0i32;
pub type RM_APP_STATUS = i32;
pub type RM_APP_TYPE = i32;
pub type RM_FILTER_ACTION = i32;
pub type RM_FILTER_TRIGGER = i32;
pub type RM_REBOOT_REASON = i32;
pub type RM_SHUTDOWN_TYPE = i32;
#[repr(C)]
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub struct RM_FILTER_INFO {
pub FilterAction: RM_FILTER_ACTION,
pub FilterTrigger: RM_FILTER_TRIGGER,
pub cbNextOffset: u32,
pub Anonymous: RM_FILTER_INFO_0,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RM_FILTER_INFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RM_FILTER_INFO {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub union RM_FILTER_INFO_0 {
pub strFilename: ::windows_sys::core::PWSTR,
pub Process: RM_UNIQUE_PROCESS,
pub strServiceShortName: ::windows_sys::core::PWSTR,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RM_FILTER_INFO_0 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RM_FILTER_INFO_0 {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub struct RM_PROCESS_INFO {
pub Process: RM_UNIQUE_PROCESS,
pub strAppName: [u16; 256],
pub strServiceShortName: [u16; 64],
pub ApplicationType: RM_APP_TYPE,
pub AppStatus: u32,
pub TSSessionId: u32,
pub bRestartable: super::super::Foundation::BOOL,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RM_PROCESS_INFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RM_PROCESS_INFO {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub struct RM_UNIQUE_PROCESS {
pub dwProcessId: u32,
pub ProcessStartTime: super::super::Foundation::FILETIME,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RM_UNIQUE_PROCESS {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RM_UNIQUE_PROCESS {
fn clone(&self) -> Self {
*self
}
}
pub type RM_WRITE_STATUS_CALLBACK = ::core::option::Option<unsafe extern "system" fn(npercentcomplete: u32) -> ()>;
|