]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys-0.28.0/src/Windows/Win32/System/Services/mod.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / vendor / windows-sys-0.28.0 / src / Windows / Win32 / System / Services / mod.rs
CommitLineData
064997fb
FG
1#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2#[link(name = "windows")]
3extern "system" {
4 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5 pub fn ChangeServiceConfig2A(hservice: super::super::Security::SC_HANDLE, dwinfolevel: SERVICE_CONFIG, lpinfo: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
6 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7 pub fn ChangeServiceConfig2W(hservice: super::super::Security::SC_HANDLE, dwinfolevel: SERVICE_CONFIG, lpinfo: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
9 pub fn ChangeServiceConfigA(
10 hservice: super::super::Security::SC_HANDLE,
11 dwservicetype: u32,
12 dwstarttype: SERVICE_START_TYPE,
13 dwerrorcontrol: SERVICE_ERROR,
14 lpbinarypathname: super::super::Foundation::PSTR,
15 lploadordergroup: super::super::Foundation::PSTR,
16 lpdwtagid: *mut u32,
17 lpdependencies: super::super::Foundation::PSTR,
18 lpservicestartname: super::super::Foundation::PSTR,
19 lppassword: super::super::Foundation::PSTR,
20 lpdisplayname: super::super::Foundation::PSTR,
21 ) -> super::super::Foundation::BOOL;
22 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
23 pub fn ChangeServiceConfigW(
24 hservice: super::super::Security::SC_HANDLE,
25 dwservicetype: u32,
26 dwstarttype: SERVICE_START_TYPE,
27 dwerrorcontrol: SERVICE_ERROR,
28 lpbinarypathname: super::super::Foundation::PWSTR,
29 lploadordergroup: super::super::Foundation::PWSTR,
30 lpdwtagid: *mut u32,
31 lpdependencies: super::super::Foundation::PWSTR,
32 lpservicestartname: super::super::Foundation::PWSTR,
33 lppassword: super::super::Foundation::PWSTR,
34 lpdisplayname: super::super::Foundation::PWSTR,
35 ) -> super::super::Foundation::BOOL;
36 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
37 pub fn CloseServiceHandle(hscobject: super::super::Security::SC_HANDLE) -> super::super::Foundation::BOOL;
38 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
39 pub fn ControlService(hservice: super::super::Security::SC_HANDLE, dwcontrol: u32, lpservicestatus: *mut SERVICE_STATUS) -> super::super::Foundation::BOOL;
40 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
41 pub fn ControlServiceExA(hservice: super::super::Security::SC_HANDLE, dwcontrol: u32, dwinfolevel: u32, pcontrolparams: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
42 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
43 pub fn ControlServiceExW(hservice: super::super::Security::SC_HANDLE, dwcontrol: u32, dwinfolevel: u32, pcontrolparams: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
44 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
45 pub fn CreateServiceA(
46 hscmanager: super::super::Security::SC_HANDLE,
47 lpservicename: super::super::Foundation::PSTR,
48 lpdisplayname: super::super::Foundation::PSTR,
49 dwdesiredaccess: u32,
50 dwservicetype: ENUM_SERVICE_TYPE,
51 dwstarttype: SERVICE_START_TYPE,
52 dwerrorcontrol: SERVICE_ERROR,
53 lpbinarypathname: super::super::Foundation::PSTR,
54 lploadordergroup: super::super::Foundation::PSTR,
55 lpdwtagid: *mut u32,
56 lpdependencies: super::super::Foundation::PSTR,
57 lpservicestartname: super::super::Foundation::PSTR,
58 lppassword: super::super::Foundation::PSTR,
59 ) -> super::super::Security::SC_HANDLE;
60 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
61 pub fn CreateServiceW(
62 hscmanager: super::super::Security::SC_HANDLE,
63 lpservicename: super::super::Foundation::PWSTR,
64 lpdisplayname: super::super::Foundation::PWSTR,
65 dwdesiredaccess: u32,
66 dwservicetype: ENUM_SERVICE_TYPE,
67 dwstarttype: SERVICE_START_TYPE,
68 dwerrorcontrol: SERVICE_ERROR,
69 lpbinarypathname: super::super::Foundation::PWSTR,
70 lploadordergroup: super::super::Foundation::PWSTR,
71 lpdwtagid: *mut u32,
72 lpdependencies: super::super::Foundation::PWSTR,
73 lpservicestartname: super::super::Foundation::PWSTR,
74 lppassword: super::super::Foundation::PWSTR,
75 ) -> super::super::Security::SC_HANDLE;
76 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
77 pub fn DeleteService(hservice: super::super::Security::SC_HANDLE) -> super::super::Foundation::BOOL;
78 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
79 pub fn EnumDependentServicesA(hservice: super::super::Security::SC_HANDLE, dwservicestate: ENUM_SERVICE_STATE, lpservices: *mut ENUM_SERVICE_STATUSA, cbbufsize: u32, pcbbytesneeded: *mut u32, lpservicesreturned: *mut u32) -> super::super::Foundation::BOOL;
80 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
81 pub fn EnumDependentServicesW(hservice: super::super::Security::SC_HANDLE, dwservicestate: ENUM_SERVICE_STATE, lpservices: *mut ENUM_SERVICE_STATUSW, cbbufsize: u32, pcbbytesneeded: *mut u32, lpservicesreturned: *mut u32) -> super::super::Foundation::BOOL;
82 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
83 pub fn EnumServicesStatusA(hscmanager: super::super::Security::SC_HANDLE, dwservicetype: ENUM_SERVICE_TYPE, dwservicestate: ENUM_SERVICE_STATE, lpservices: *mut ENUM_SERVICE_STATUSA, cbbufsize: u32, pcbbytesneeded: *mut u32, lpservicesreturned: *mut u32, lpresumehandle: *mut u32) -> super::super::Foundation::BOOL;
84 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
85 pub fn EnumServicesStatusExA(hscmanager: super::super::Security::SC_HANDLE, infolevel: SC_ENUM_TYPE, dwservicetype: ENUM_SERVICE_TYPE, dwservicestate: ENUM_SERVICE_STATE, lpservices: *mut u8, cbbufsize: u32, pcbbytesneeded: *mut u32, lpservicesreturned: *mut u32, lpresumehandle: *mut u32, pszgroupname: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
86 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
87 pub fn EnumServicesStatusExW(hscmanager: super::super::Security::SC_HANDLE, infolevel: SC_ENUM_TYPE, dwservicetype: ENUM_SERVICE_TYPE, dwservicestate: ENUM_SERVICE_STATE, lpservices: *mut u8, cbbufsize: u32, pcbbytesneeded: *mut u32, lpservicesreturned: *mut u32, lpresumehandle: *mut u32, pszgroupname: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
88 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
89 pub fn EnumServicesStatusW(hscmanager: super::super::Security::SC_HANDLE, dwservicetype: ENUM_SERVICE_TYPE, dwservicestate: ENUM_SERVICE_STATE, lpservices: *mut ENUM_SERVICE_STATUSW, cbbufsize: u32, pcbbytesneeded: *mut u32, lpservicesreturned: *mut u32, lpresumehandle: *mut u32) -> super::super::Foundation::BOOL;
90 #[cfg(feature = "Win32_Foundation")]
91 pub fn GetServiceDirectory(hservicestatus: SERVICE_STATUS_HANDLE, edirectorytype: SERVICE_DIRECTORY_TYPE, lppathbuffer: super::super::Foundation::PWSTR, cchpathbufferlength: u32, lpcchrequiredbufferlength: *mut u32) -> u32;
92 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
93 pub fn GetServiceDisplayNameA(hscmanager: super::super::Security::SC_HANDLE, lpservicename: super::super::Foundation::PSTR, lpdisplayname: super::super::Foundation::PSTR, lpcchbuffer: *mut u32) -> super::super::Foundation::BOOL;
94 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
95 pub fn GetServiceDisplayNameW(hscmanager: super::super::Security::SC_HANDLE, lpservicename: super::super::Foundation::PWSTR, lpdisplayname: super::super::Foundation::PWSTR, lpcchbuffer: *mut u32) -> super::super::Foundation::BOOL;
96 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
97 pub fn GetServiceKeyNameA(hscmanager: super::super::Security::SC_HANDLE, lpdisplayname: super::super::Foundation::PSTR, lpservicename: super::super::Foundation::PSTR, lpcchbuffer: *mut u32) -> super::super::Foundation::BOOL;
98 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
99 pub fn GetServiceKeyNameW(hscmanager: super::super::Security::SC_HANDLE, lpdisplayname: super::super::Foundation::PWSTR, lpservicename: super::super::Foundation::PWSTR, lpcchbuffer: *mut u32) -> super::super::Foundation::BOOL;
100 #[cfg(feature = "Win32_System_Registry")]
101 pub fn GetServiceRegistryStateKey(servicestatushandle: SERVICE_STATUS_HANDLE, statetype: SERVICE_REGISTRY_STATE_TYPE, accessmask: u32, servicestatekey: *mut super::Registry::HKEY) -> u32;
102 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
103 pub fn GetSharedServiceDirectory(servicehandle: super::super::Security::SC_HANDLE, directorytype: SERVICE_SHARED_DIRECTORY_TYPE, pathbuffer: super::super::Foundation::PWSTR, pathbufferlength: u32, requiredbufferlength: *mut u32) -> u32;
104 #[cfg(all(feature = "Win32_Security", feature = "Win32_System_Registry"))]
105 pub fn GetSharedServiceRegistryStateKey(servicehandle: super::super::Security::SC_HANDLE, statetype: SERVICE_SHARED_REGISTRY_STATE_TYPE, accessmask: u32, servicestatekey: *mut super::Registry::HKEY) -> u32;
106 #[cfg(feature = "Win32_Security")]
107 pub fn LockServiceDatabase(hscmanager: super::super::Security::SC_HANDLE) -> *mut ::core::ffi::c_void;
108 #[cfg(feature = "Win32_Foundation")]
109 pub fn NotifyBootConfigStatus(bootacceptable: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
110 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
111 pub fn NotifyServiceStatusChangeA(hservice: super::super::Security::SC_HANDLE, dwnotifymask: SERVICE_NOTIFY, pnotifybuffer: *const SERVICE_NOTIFY_2A) -> u32;
112 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
113 pub fn NotifyServiceStatusChangeW(hservice: super::super::Security::SC_HANDLE, dwnotifymask: SERVICE_NOTIFY, pnotifybuffer: *const SERVICE_NOTIFY_2W) -> u32;
114 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
115 pub fn OpenSCManagerA(lpmachinename: super::super::Foundation::PSTR, lpdatabasename: super::super::Foundation::PSTR, dwdesiredaccess: u32) -> super::super::Security::SC_HANDLE;
116 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
117 pub fn OpenSCManagerW(lpmachinename: super::super::Foundation::PWSTR, lpdatabasename: super::super::Foundation::PWSTR, dwdesiredaccess: u32) -> super::super::Security::SC_HANDLE;
118 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
119 pub fn OpenServiceA(hscmanager: super::super::Security::SC_HANDLE, lpservicename: super::super::Foundation::PSTR, dwdesiredaccess: u32) -> super::super::Security::SC_HANDLE;
120 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
121 pub fn OpenServiceW(hscmanager: super::super::Security::SC_HANDLE, lpservicename: super::super::Foundation::PWSTR, dwdesiredaccess: u32) -> super::super::Security::SC_HANDLE;
122 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
123 pub fn QueryServiceConfig2A(hservice: super::super::Security::SC_HANDLE, dwinfolevel: SERVICE_CONFIG, lpbuffer: *mut u8, cbbufsize: u32, pcbbytesneeded: *mut u32) -> super::super::Foundation::BOOL;
124 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
125 pub fn QueryServiceConfig2W(hservice: super::super::Security::SC_HANDLE, dwinfolevel: SERVICE_CONFIG, lpbuffer: *mut u8, cbbufsize: u32, pcbbytesneeded: *mut u32) -> super::super::Foundation::BOOL;
126 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
127 pub fn QueryServiceConfigA(hservice: super::super::Security::SC_HANDLE, lpserviceconfig: *mut QUERY_SERVICE_CONFIGA, cbbufsize: u32, pcbbytesneeded: *mut u32) -> super::super::Foundation::BOOL;
128 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
129 pub fn QueryServiceConfigW(hservice: super::super::Security::SC_HANDLE, lpserviceconfig: *mut QUERY_SERVICE_CONFIGW, cbbufsize: u32, pcbbytesneeded: *mut u32) -> super::super::Foundation::BOOL;
130 #[cfg(feature = "Win32_Foundation")]
131 pub fn QueryServiceDynamicInformation(hservicestatus: SERVICE_STATUS_HANDLE, dwinfolevel: u32, ppdynamicinfo: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
132 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
133 pub fn QueryServiceLockStatusA(hscmanager: super::super::Security::SC_HANDLE, lplockstatus: *mut QUERY_SERVICE_LOCK_STATUSA, cbbufsize: u32, pcbbytesneeded: *mut u32) -> super::super::Foundation::BOOL;
134 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
135 pub fn QueryServiceLockStatusW(hscmanager: super::super::Security::SC_HANDLE, lplockstatus: *mut QUERY_SERVICE_LOCK_STATUSW, cbbufsize: u32, pcbbytesneeded: *mut u32) -> super::super::Foundation::BOOL;
136 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
137 pub fn QueryServiceObjectSecurity(hservice: super::super::Security::SC_HANDLE, dwsecurityinformation: u32, lpsecuritydescriptor: *mut super::super::Security::SECURITY_DESCRIPTOR, cbbufsize: u32, pcbbytesneeded: *mut u32) -> super::super::Foundation::BOOL;
138 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
139 pub fn QueryServiceStatus(hservice: super::super::Security::SC_HANDLE, lpservicestatus: *mut SERVICE_STATUS) -> super::super::Foundation::BOOL;
140 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
141 pub fn QueryServiceStatusEx(hservice: super::super::Security::SC_HANDLE, infolevel: SC_STATUS_TYPE, lpbuffer: *mut u8, cbbufsize: u32, pcbbytesneeded: *mut u32) -> super::super::Foundation::BOOL;
142 #[cfg(feature = "Win32_Foundation")]
143 pub fn RegisterServiceCtrlHandlerA(lpservicename: super::super::Foundation::PSTR, lphandlerproc: ::core::option::Option<LPHANDLER_FUNCTION>) -> SERVICE_STATUS_HANDLE;
144 #[cfg(feature = "Win32_Foundation")]
145 pub fn RegisterServiceCtrlHandlerExA(lpservicename: super::super::Foundation::PSTR, lphandlerproc: ::core::option::Option<LPHANDLER_FUNCTION_EX>, lpcontext: *const ::core::ffi::c_void) -> SERVICE_STATUS_HANDLE;
146 #[cfg(feature = "Win32_Foundation")]
147 pub fn RegisterServiceCtrlHandlerExW(lpservicename: super::super::Foundation::PWSTR, lphandlerproc: ::core::option::Option<LPHANDLER_FUNCTION_EX>, lpcontext: *const ::core::ffi::c_void) -> SERVICE_STATUS_HANDLE;
148 #[cfg(feature = "Win32_Foundation")]
149 pub fn RegisterServiceCtrlHandlerW(lpservicename: super::super::Foundation::PWSTR, lphandlerproc: ::core::option::Option<LPHANDLER_FUNCTION>) -> SERVICE_STATUS_HANDLE;
150 #[cfg(feature = "Win32_Foundation")]
151 pub fn SetServiceBits(hservicestatus: SERVICE_STATUS_HANDLE, dwservicebits: u32, bsetbitson: super::super::Foundation::BOOL, bupdateimmediately: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
152 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
153 pub fn SetServiceObjectSecurity(hservice: super::super::Security::SC_HANDLE, dwsecurityinformation: super::super::Security::OBJECT_SECURITY_INFORMATION, lpsecuritydescriptor: *const super::super::Security::SECURITY_DESCRIPTOR) -> super::super::Foundation::BOOL;
154 #[cfg(feature = "Win32_Foundation")]
155 pub fn SetServiceStatus(hservicestatus: SERVICE_STATUS_HANDLE, lpservicestatus: *const SERVICE_STATUS) -> super::super::Foundation::BOOL;
156 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
157 pub fn StartServiceA(hservice: super::super::Security::SC_HANDLE, dwnumserviceargs: u32, lpserviceargvectors: *const super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
158 #[cfg(feature = "Win32_Foundation")]
159 pub fn StartServiceCtrlDispatcherA(lpservicestarttable: *const SERVICE_TABLE_ENTRYA) -> super::super::Foundation::BOOL;
160 #[cfg(feature = "Win32_Foundation")]
161 pub fn StartServiceCtrlDispatcherW(lpservicestarttable: *const SERVICE_TABLE_ENTRYW) -> super::super::Foundation::BOOL;
162 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
163 pub fn StartServiceW(hservice: super::super::Security::SC_HANDLE, dwnumserviceargs: u32, lpserviceargvectors: *const super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
164 #[cfg(feature = "Win32_Foundation")]
165 pub fn UnlockServiceDatabase(sclock: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
166 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
167 pub fn WaitServiceState(hservice: super::super::Security::SC_HANDLE, dwnotify: u32, dwtimeout: u32, hcancelevent: super::super::Foundation::HANDLE) -> u32;
168}
169pub const CUSTOM_SYSTEM_STATE_CHANGE_EVENT_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 762980374, data2: 3166, data3: 17916, data4: [156, 231, 87, 14, 94, 205, 233, 201] };
170pub const DOMAIN_JOIN_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 484575930, data2: 38993, data3: 17441, data4: [148, 48, 29, 222, 183, 102, 232, 9] };
171pub const DOMAIN_LEAVE_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
172 data1: 3719254382,
173 data2: 22722,
174 data3: 18534,
175 data4: [149, 116, 195, 182, 21, 212, 46, 161],
176};
177pub type ENUM_SERVICE_STATE = u32;
178pub const SERVICE_ACTIVE: ENUM_SERVICE_STATE = 1u32;
179pub const SERVICE_INACTIVE: ENUM_SERVICE_STATE = 2u32;
180pub const SERVICE_STATE_ALL: ENUM_SERVICE_STATE = 3u32;
181#[repr(C)]
182#[cfg(feature = "Win32_Foundation")]
183pub struct ENUM_SERVICE_STATUSA {
184 pub lpServiceName: super::super::Foundation::PSTR,
185 pub lpDisplayName: super::super::Foundation::PSTR,
186 pub ServiceStatus: SERVICE_STATUS,
187}
188#[cfg(feature = "Win32_Foundation")]
189impl ::core::marker::Copy for ENUM_SERVICE_STATUSA {}
190#[cfg(feature = "Win32_Foundation")]
191impl ::core::clone::Clone for ENUM_SERVICE_STATUSA {
192 fn clone(&self) -> Self {
193 *self
194 }
195}
196#[repr(C)]
197#[cfg(feature = "Win32_Foundation")]
198pub struct ENUM_SERVICE_STATUSW {
199 pub lpServiceName: super::super::Foundation::PWSTR,
200 pub lpDisplayName: super::super::Foundation::PWSTR,
201 pub ServiceStatus: SERVICE_STATUS,
202}
203#[cfg(feature = "Win32_Foundation")]
204impl ::core::marker::Copy for ENUM_SERVICE_STATUSW {}
205#[cfg(feature = "Win32_Foundation")]
206impl ::core::clone::Clone for ENUM_SERVICE_STATUSW {
207 fn clone(&self) -> Self {
208 *self
209 }
210}
211#[repr(C)]
212#[cfg(feature = "Win32_Foundation")]
213pub struct ENUM_SERVICE_STATUS_PROCESSA {
214 pub lpServiceName: super::super::Foundation::PSTR,
215 pub lpDisplayName: super::super::Foundation::PSTR,
216 pub ServiceStatusProcess: SERVICE_STATUS_PROCESS,
217}
218#[cfg(feature = "Win32_Foundation")]
219impl ::core::marker::Copy for ENUM_SERVICE_STATUS_PROCESSA {}
220#[cfg(feature = "Win32_Foundation")]
221impl ::core::clone::Clone for ENUM_SERVICE_STATUS_PROCESSA {
222 fn clone(&self) -> Self {
223 *self
224 }
225}
226#[repr(C)]
227#[cfg(feature = "Win32_Foundation")]
228pub struct ENUM_SERVICE_STATUS_PROCESSW {
229 pub lpServiceName: super::super::Foundation::PWSTR,
230 pub lpDisplayName: super::super::Foundation::PWSTR,
231 pub ServiceStatusProcess: SERVICE_STATUS_PROCESS,
232}
233#[cfg(feature = "Win32_Foundation")]
234impl ::core::marker::Copy for ENUM_SERVICE_STATUS_PROCESSW {}
235#[cfg(feature = "Win32_Foundation")]
236impl ::core::clone::Clone for ENUM_SERVICE_STATUS_PROCESSW {
237 fn clone(&self) -> Self {
238 *self
239 }
240}
241pub type ENUM_SERVICE_TYPE = u32;
242pub const SERVICE_DRIVER: ENUM_SERVICE_TYPE = 11u32;
243pub const SERVICE_FILE_SYSTEM_DRIVER_: ENUM_SERVICE_TYPE = 2u32;
244pub const SERVICE_KERNEL_DRIVER: ENUM_SERVICE_TYPE = 1u32;
245pub const SERVICE_WIN32: ENUM_SERVICE_TYPE = 48u32;
246pub const SERVICE_WIN32_OWN_PROCESS_: ENUM_SERVICE_TYPE = 16u32;
247pub const SERVICE_WIN32_SHARE_PROCESS: ENUM_SERVICE_TYPE = 32u32;
248pub const SERVICE_ADAPTER: ENUM_SERVICE_TYPE = 4u32;
249pub const SERVICE_FILE_SYSTEM_DRIVER: ENUM_SERVICE_TYPE = 2u32;
250pub const SERVICE_RECOGNIZER_DRIVER: ENUM_SERVICE_TYPE = 8u32;
251pub const SERVICE_WIN32_OWN_PROCESS: ENUM_SERVICE_TYPE = 16u32;
252pub const SERVICE_USER_OWN_PROCESS: ENUM_SERVICE_TYPE = 80u32;
253pub const SERVICE_USER_SHARE_PROCESS: ENUM_SERVICE_TYPE = 96u32;
254pub const FIREWALL_PORT_CLOSE_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
255 data1: 2705648952,
256 data2: 36370,
257 data3: 19940,
258 data4: [157, 150, 230, 71, 64, 177, 165, 36],
259};
260pub const FIREWALL_PORT_OPEN_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3075907079, data2: 33825, data3: 20192, data4: [173, 16, 134, 145, 90, 253, 173, 9] };
261pub type HANDLER_FUNCTION = unsafe extern "system" fn(dwcontrol: u32);
262pub type HANDLER_FUNCTION_EX = unsafe extern "system" fn(dwcontrol: u32, dweventtype: u32, lpeventdata: *mut ::core::ffi::c_void, lpcontext: *mut ::core::ffi::c_void) -> u32;
263pub type LPHANDLER_FUNCTION = unsafe extern "system" fn(dwcontrol: u32);
264pub type LPHANDLER_FUNCTION_EX = unsafe extern "system" fn(dwcontrol: u32, dweventtype: u32, lpeventdata: *mut ::core::ffi::c_void, lpcontext: *mut ::core::ffi::c_void) -> u32;
265#[cfg(feature = "Win32_Foundation")]
266pub type LPSERVICE_MAIN_FUNCTIONA = unsafe extern "system" fn(dwnumservicesargs: u32, lpserviceargvectors: *mut super::super::Foundation::PSTR);
267#[cfg(feature = "Win32_Foundation")]
268pub type LPSERVICE_MAIN_FUNCTIONW = unsafe extern "system" fn(dwnumservicesargs: u32, lpserviceargvectors: *mut super::super::Foundation::PWSTR);
269pub const MACHINE_POLICY_PRESENT_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
270 data1: 1704970982,
271 data2: 23515,
272 data3: 19881,
273 data4: [177, 255, 202, 42, 23, 141, 70, 224],
274};
275pub const NAMED_PIPE_EVENT_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 528601393, data2: 16300, data3: 17719, data4: [158, 12, 126, 123, 12, 47, 75, 85] };
276pub const NETWORK_MANAGER_FIRST_IP_ADDRESS_ARRIVAL_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
277 data1: 1328018142,
278 data2: 5346,
279 data3: 17163,
280 data4: [165, 73, 124, 212, 140, 188, 130, 69],
281};
282pub const NETWORK_MANAGER_LAST_IP_ADDRESS_REMOVAL_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
283 data1: 3427509802,
284 data2: 5678,
285 data3: 17992,
286 data4: [132, 122, 182, 189, 249, 147, 227, 53],
287};
288pub type PFN_SC_NOTIFY_CALLBACK = unsafe extern "system" fn(pparameter: *const ::core::ffi::c_void);
289pub type PSC_NOTIFICATION_CALLBACK = unsafe extern "system" fn(dwnotify: u32, pcallbackcontext: *const ::core::ffi::c_void);
290#[repr(C)]
291#[cfg(feature = "Win32_Foundation")]
292pub struct QUERY_SERVICE_CONFIGA {
293 pub dwServiceType: ENUM_SERVICE_TYPE,
294 pub dwStartType: SERVICE_START_TYPE,
295 pub dwErrorControl: SERVICE_ERROR,
296 pub lpBinaryPathName: super::super::Foundation::PSTR,
297 pub lpLoadOrderGroup: super::super::Foundation::PSTR,
298 pub dwTagId: u32,
299 pub lpDependencies: super::super::Foundation::PSTR,
300 pub lpServiceStartName: super::super::Foundation::PSTR,
301 pub lpDisplayName: super::super::Foundation::PSTR,
302}
303#[cfg(feature = "Win32_Foundation")]
304impl ::core::marker::Copy for QUERY_SERVICE_CONFIGA {}
305#[cfg(feature = "Win32_Foundation")]
306impl ::core::clone::Clone for QUERY_SERVICE_CONFIGA {
307 fn clone(&self) -> Self {
308 *self
309 }
310}
311#[repr(C)]
312#[cfg(feature = "Win32_Foundation")]
313pub struct QUERY_SERVICE_CONFIGW {
314 pub dwServiceType: ENUM_SERVICE_TYPE,
315 pub dwStartType: SERVICE_START_TYPE,
316 pub dwErrorControl: SERVICE_ERROR,
317 pub lpBinaryPathName: super::super::Foundation::PWSTR,
318 pub lpLoadOrderGroup: super::super::Foundation::PWSTR,
319 pub dwTagId: u32,
320 pub lpDependencies: super::super::Foundation::PWSTR,
321 pub lpServiceStartName: super::super::Foundation::PWSTR,
322 pub lpDisplayName: super::super::Foundation::PWSTR,
323}
324#[cfg(feature = "Win32_Foundation")]
325impl ::core::marker::Copy for QUERY_SERVICE_CONFIGW {}
326#[cfg(feature = "Win32_Foundation")]
327impl ::core::clone::Clone for QUERY_SERVICE_CONFIGW {
328 fn clone(&self) -> Self {
329 *self
330 }
331}
332#[repr(C)]
333#[cfg(feature = "Win32_Foundation")]
334pub struct QUERY_SERVICE_LOCK_STATUSA {
335 pub fIsLocked: u32,
336 pub lpLockOwner: super::super::Foundation::PSTR,
337 pub dwLockDuration: u32,
338}
339#[cfg(feature = "Win32_Foundation")]
340impl ::core::marker::Copy for QUERY_SERVICE_LOCK_STATUSA {}
341#[cfg(feature = "Win32_Foundation")]
342impl ::core::clone::Clone for QUERY_SERVICE_LOCK_STATUSA {
343 fn clone(&self) -> Self {
344 *self
345 }
346}
347#[repr(C)]
348#[cfg(feature = "Win32_Foundation")]
349pub struct QUERY_SERVICE_LOCK_STATUSW {
350 pub fIsLocked: u32,
351 pub lpLockOwner: super::super::Foundation::PWSTR,
352 pub dwLockDuration: u32,
353}
354#[cfg(feature = "Win32_Foundation")]
355impl ::core::marker::Copy for QUERY_SERVICE_LOCK_STATUSW {}
356#[cfg(feature = "Win32_Foundation")]
357impl ::core::clone::Clone for QUERY_SERVICE_LOCK_STATUSW {
358 fn clone(&self) -> Self {
359 *self
360 }
361}
362pub const RPC_INTERFACE_EVENT_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
363 data1: 3163607399,
364 data2: 38000,
365 data3: 16697,
366 data4: [169, 186, 190, 11, 187, 245, 183, 77],
367};
368#[repr(C)]
369pub struct SC_ACTION {
370 pub Type: SC_ACTION_TYPE,
371 pub Delay: u32,
372}
373impl ::core::marker::Copy for SC_ACTION {}
374impl ::core::clone::Clone for SC_ACTION {
375 fn clone(&self) -> Self {
376 *self
377 }
378}
379pub type SC_ACTION_TYPE = i32;
380pub const SC_ACTION_NONE: SC_ACTION_TYPE = 0i32;
381pub const SC_ACTION_RESTART: SC_ACTION_TYPE = 1i32;
382pub const SC_ACTION_REBOOT: SC_ACTION_TYPE = 2i32;
383pub const SC_ACTION_RUN_COMMAND: SC_ACTION_TYPE = 3i32;
384pub const SC_ACTION_OWN_RESTART: SC_ACTION_TYPE = 4i32;
385pub type SC_ENUM_TYPE = i32;
386pub const SC_ENUM_PROCESS_INFO: SC_ENUM_TYPE = 0i32;
387pub type SC_EVENT_TYPE = i32;
388pub const SC_EVENT_DATABASE_CHANGE: SC_EVENT_TYPE = 0i32;
389pub const SC_EVENT_PROPERTY_CHANGE: SC_EVENT_TYPE = 1i32;
390pub const SC_EVENT_STATUS_CHANGE: SC_EVENT_TYPE = 2i32;
391pub const SC_MANAGER_ALL_ACCESS: u32 = 983103u32;
392pub const SC_MANAGER_CONNECT: u32 = 1u32;
393pub const SC_MANAGER_CREATE_SERVICE: u32 = 2u32;
394pub const SC_MANAGER_ENUMERATE_SERVICE: u32 = 4u32;
395pub const SC_MANAGER_LOCK: u32 = 8u32;
396pub const SC_MANAGER_MODIFY_BOOT_CONFIG: u32 = 32u32;
397pub const SC_MANAGER_QUERY_LOCK_STATUS: u32 = 16u32;
398pub type SC_STATUS_TYPE = i32;
399pub const SC_STATUS_PROCESS_INFO: SC_STATUS_TYPE = 0i32;
400pub const SERVICE_ACCEPT_HARDWAREPROFILECHANGE: u32 = 32u32;
401pub const SERVICE_ACCEPT_LOWRESOURCES: u32 = 8192u32;
402pub const SERVICE_ACCEPT_NETBINDCHANGE: u32 = 16u32;
403pub const SERVICE_ACCEPT_PARAMCHANGE: u32 = 8u32;
404pub const SERVICE_ACCEPT_PAUSE_CONTINUE: u32 = 2u32;
405pub const SERVICE_ACCEPT_POWEREVENT: u32 = 64u32;
406pub const SERVICE_ACCEPT_PRESHUTDOWN: u32 = 256u32;
407pub const SERVICE_ACCEPT_SESSIONCHANGE: u32 = 128u32;
408pub const SERVICE_ACCEPT_SHUTDOWN: u32 = 4u32;
409pub const SERVICE_ACCEPT_STOP: u32 = 1u32;
410pub const SERVICE_ACCEPT_SYSTEMLOWRESOURCES: u32 = 16384u32;
411pub const SERVICE_ACCEPT_TIMECHANGE: u32 = 512u32;
412pub const SERVICE_ACCEPT_TRIGGEREVENT: u32 = 1024u32;
413pub const SERVICE_ACCEPT_USER_LOGOFF: u32 = 2048u32;
414pub const SERVICE_ALL_ACCESS: u32 = 983551u32;
415pub const SERVICE_CHANGE_CONFIG: u32 = 2u32;
416pub type SERVICE_CONFIG = u32;
417pub const SERVICE_CONFIG_DELAYED_AUTO_START_INFO: SERVICE_CONFIG = 3u32;
418pub const SERVICE_CONFIG_DESCRIPTION: SERVICE_CONFIG = 1u32;
419pub const SERVICE_CONFIG_FAILURE_ACTIONS: SERVICE_CONFIG = 2u32;
420pub const SERVICE_CONFIG_FAILURE_ACTIONS_FLAG: SERVICE_CONFIG = 4u32;
421pub const SERVICE_CONFIG_PREFERRED_NODE: SERVICE_CONFIG = 9u32;
422pub const SERVICE_CONFIG_PRESHUTDOWN_INFO: SERVICE_CONFIG = 7u32;
423pub const SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO: SERVICE_CONFIG = 6u32;
424pub const SERVICE_CONFIG_SERVICE_SID_INFO: SERVICE_CONFIG = 5u32;
425pub const SERVICE_CONFIG_TRIGGER_INFO: SERVICE_CONFIG = 8u32;
426pub const SERVICE_CONFIG_LAUNCH_PROTECTED: SERVICE_CONFIG = 12u32;
427pub const SERVICE_CONTROL_CONTINUE: u32 = 3u32;
428pub const SERVICE_CONTROL_DEVICEEVENT: u32 = 11u32;
429pub const SERVICE_CONTROL_HARDWAREPROFILECHANGE: u32 = 12u32;
430pub const SERVICE_CONTROL_INTERROGATE: u32 = 4u32;
431pub const SERVICE_CONTROL_LOWRESOURCES: u32 = 96u32;
432pub const SERVICE_CONTROL_NETBINDADD: u32 = 7u32;
433pub const SERVICE_CONTROL_NETBINDDISABLE: u32 = 10u32;
434pub const SERVICE_CONTROL_NETBINDENABLE: u32 = 9u32;
435pub const SERVICE_CONTROL_NETBINDREMOVE: u32 = 8u32;
436pub const SERVICE_CONTROL_PARAMCHANGE: u32 = 6u32;
437pub const SERVICE_CONTROL_PAUSE: u32 = 2u32;
438pub const SERVICE_CONTROL_POWEREVENT: u32 = 13u32;
439pub const SERVICE_CONTROL_PRESHUTDOWN: u32 = 15u32;
440pub const SERVICE_CONTROL_SESSIONCHANGE: u32 = 14u32;
441pub const SERVICE_CONTROL_SHUTDOWN: u32 = 5u32;
442pub const SERVICE_CONTROL_STATUS_REASON_INFO: u32 = 1u32;
443#[repr(C)]
444#[cfg(feature = "Win32_Foundation")]
445pub struct SERVICE_CONTROL_STATUS_REASON_PARAMSA {
446 pub dwReason: u32,
447 pub pszComment: super::super::Foundation::PSTR,
448 pub ServiceStatus: SERVICE_STATUS_PROCESS,
449}
450#[cfg(feature = "Win32_Foundation")]
451impl ::core::marker::Copy for SERVICE_CONTROL_STATUS_REASON_PARAMSA {}
452#[cfg(feature = "Win32_Foundation")]
453impl ::core::clone::Clone for SERVICE_CONTROL_STATUS_REASON_PARAMSA {
454 fn clone(&self) -> Self {
455 *self
456 }
457}
458#[repr(C)]
459#[cfg(feature = "Win32_Foundation")]
460pub struct SERVICE_CONTROL_STATUS_REASON_PARAMSW {
461 pub dwReason: u32,
462 pub pszComment: super::super::Foundation::PWSTR,
463 pub ServiceStatus: SERVICE_STATUS_PROCESS,
464}
465#[cfg(feature = "Win32_Foundation")]
466impl ::core::marker::Copy for SERVICE_CONTROL_STATUS_REASON_PARAMSW {}
467#[cfg(feature = "Win32_Foundation")]
468impl ::core::clone::Clone for SERVICE_CONTROL_STATUS_REASON_PARAMSW {
469 fn clone(&self) -> Self {
470 *self
471 }
472}
473pub const SERVICE_CONTROL_STOP: u32 = 1u32;
474pub const SERVICE_CONTROL_SYSTEMLOWRESOURCES: u32 = 97u32;
475pub const SERVICE_CONTROL_TIMECHANGE: u32 = 16u32;
476pub const SERVICE_CONTROL_TRIGGEREVENT: u32 = 32u32;
477#[repr(C)]
478pub struct SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM {
479 pub u: SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0,
480}
481impl ::core::marker::Copy for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM {}
482impl ::core::clone::Clone for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM {
483 fn clone(&self) -> Self {
484 *self
485 }
486}
487#[repr(C)]
488pub union SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0 {
489 pub CustomStateId: SERVICE_TRIGGER_CUSTOM_STATE_ID,
490 pub s: SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0_0,
491}
492impl ::core::marker::Copy for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0 {}
493impl ::core::clone::Clone for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0 {
494 fn clone(&self) -> Self {
495 *self
496 }
497}
498#[repr(C)]
499pub struct SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0_0 {
500 pub DataOffset: u32,
501 pub Data: [u8; 1],
502}
503impl ::core::marker::Copy for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0_0 {}
504impl ::core::clone::Clone for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0_0 {
505 fn clone(&self) -> Self {
506 *self
507 }
508}
509#[repr(C)]
510#[cfg(feature = "Win32_Foundation")]
511pub struct SERVICE_DELAYED_AUTO_START_INFO {
512 pub fDelayedAutostart: super::super::Foundation::BOOL,
513}
514#[cfg(feature = "Win32_Foundation")]
515impl ::core::marker::Copy for SERVICE_DELAYED_AUTO_START_INFO {}
516#[cfg(feature = "Win32_Foundation")]
517impl ::core::clone::Clone for SERVICE_DELAYED_AUTO_START_INFO {
518 fn clone(&self) -> Self {
519 *self
520 }
521}
522#[repr(C)]
523#[cfg(feature = "Win32_Foundation")]
524pub struct SERVICE_DESCRIPTIONA {
525 pub lpDescription: super::super::Foundation::PSTR,
526}
527#[cfg(feature = "Win32_Foundation")]
528impl ::core::marker::Copy for SERVICE_DESCRIPTIONA {}
529#[cfg(feature = "Win32_Foundation")]
530impl ::core::clone::Clone for SERVICE_DESCRIPTIONA {
531 fn clone(&self) -> Self {
532 *self
533 }
534}
535#[repr(C)]
536#[cfg(feature = "Win32_Foundation")]
537pub struct SERVICE_DESCRIPTIONW {
538 pub lpDescription: super::super::Foundation::PWSTR,
539}
540#[cfg(feature = "Win32_Foundation")]
541impl ::core::marker::Copy for SERVICE_DESCRIPTIONW {}
542#[cfg(feature = "Win32_Foundation")]
543impl ::core::clone::Clone for SERVICE_DESCRIPTIONW {
544 fn clone(&self) -> Self {
545 *self
546 }
547}
548pub type SERVICE_DIRECTORY_TYPE = i32;
549pub const ServiceDirectoryPersistentState: SERVICE_DIRECTORY_TYPE = 0i32;
550pub const ServiceDirectoryTypeMax: SERVICE_DIRECTORY_TYPE = 1i32;
551pub const SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON: u32 = 1u32;
552pub const SERVICE_ENUMERATE_DEPENDENTS: u32 = 8u32;
553pub type SERVICE_ERROR = u32;
554pub const SERVICE_ERROR_CRITICAL: SERVICE_ERROR = 3u32;
555pub const SERVICE_ERROR_IGNORE: SERVICE_ERROR = 0u32;
556pub const SERVICE_ERROR_NORMAL: SERVICE_ERROR = 1u32;
557pub const SERVICE_ERROR_SEVERE: SERVICE_ERROR = 2u32;
558#[repr(C)]
559#[cfg(feature = "Win32_Foundation")]
560pub struct SERVICE_FAILURE_ACTIONSA {
561 pub dwResetPeriod: u32,
562 pub lpRebootMsg: super::super::Foundation::PSTR,
563 pub lpCommand: super::super::Foundation::PSTR,
564 pub cActions: u32,
565 pub lpsaActions: *mut SC_ACTION,
566}
567#[cfg(feature = "Win32_Foundation")]
568impl ::core::marker::Copy for SERVICE_FAILURE_ACTIONSA {}
569#[cfg(feature = "Win32_Foundation")]
570impl ::core::clone::Clone for SERVICE_FAILURE_ACTIONSA {
571 fn clone(&self) -> Self {
572 *self
573 }
574}
575#[repr(C)]
576#[cfg(feature = "Win32_Foundation")]
577pub struct SERVICE_FAILURE_ACTIONSW {
578 pub dwResetPeriod: u32,
579 pub lpRebootMsg: super::super::Foundation::PWSTR,
580 pub lpCommand: super::super::Foundation::PWSTR,
581 pub cActions: u32,
582 pub lpsaActions: *mut SC_ACTION,
583}
584#[cfg(feature = "Win32_Foundation")]
585impl ::core::marker::Copy for SERVICE_FAILURE_ACTIONSW {}
586#[cfg(feature = "Win32_Foundation")]
587impl ::core::clone::Clone for SERVICE_FAILURE_ACTIONSW {
588 fn clone(&self) -> Self {
589 *self
590 }
591}
592#[repr(C)]
593#[cfg(feature = "Win32_Foundation")]
594pub struct SERVICE_FAILURE_ACTIONS_FLAG {
595 pub fFailureActionsOnNonCrashFailures: super::super::Foundation::BOOL,
596}
597#[cfg(feature = "Win32_Foundation")]
598impl ::core::marker::Copy for SERVICE_FAILURE_ACTIONS_FLAG {}
599#[cfg(feature = "Win32_Foundation")]
600impl ::core::clone::Clone for SERVICE_FAILURE_ACTIONS_FLAG {
601 fn clone(&self) -> Self {
602 *self
603 }
604}
605pub const SERVICE_INTERROGATE: u32 = 128u32;
606pub const SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT: u32 = 3u32;
607#[repr(C)]
608pub struct SERVICE_LAUNCH_PROTECTED_INFO {
609 pub dwLaunchProtected: u32,
610}
611impl ::core::marker::Copy for SERVICE_LAUNCH_PROTECTED_INFO {}
612impl ::core::clone::Clone for SERVICE_LAUNCH_PROTECTED_INFO {
613 fn clone(&self) -> Self {
614 *self
615 }
616}
617pub const SERVICE_LAUNCH_PROTECTED_NONE: u32 = 0u32;
618pub const SERVICE_LAUNCH_PROTECTED_WINDOWS: u32 = 1u32;
619pub const SERVICE_LAUNCH_PROTECTED_WINDOWS_LIGHT: u32 = 2u32;
620pub type SERVICE_MAIN_FUNCTIONA = unsafe extern "system" fn(dwnumservicesargs: u32, lpserviceargvectors: *mut *mut i8);
621#[cfg(feature = "Win32_Foundation")]
622pub type SERVICE_MAIN_FUNCTIONW = unsafe extern "system" fn(dwnumservicesargs: u32, lpserviceargvectors: *mut super::super::Foundation::PWSTR);
623pub type SERVICE_NOTIFY = u32;
624pub const SERVICE_NOTIFY_CREATED: SERVICE_NOTIFY = 128u32;
625pub const SERVICE_NOTIFY_CONTINUE_PENDING: SERVICE_NOTIFY = 16u32;
626pub const SERVICE_NOTIFY_DELETE_PENDING: SERVICE_NOTIFY = 512u32;
627pub const SERVICE_NOTIFY_DELETED: SERVICE_NOTIFY = 256u32;
628pub const SERVICE_NOTIFY_PAUSE_PENDING: SERVICE_NOTIFY = 32u32;
629pub const SERVICE_NOTIFY_PAUSED: SERVICE_NOTIFY = 64u32;
630pub const SERVICE_NOTIFY_RUNNING: SERVICE_NOTIFY = 8u32;
631pub const SERVICE_NOTIFY_START_PENDING: SERVICE_NOTIFY = 2u32;
632pub const SERVICE_NOTIFY_STOP_PENDING: SERVICE_NOTIFY = 4u32;
633pub const SERVICE_NOTIFY_STOPPED: SERVICE_NOTIFY = 1u32;
634#[repr(C)]
635pub struct SERVICE_NOTIFY_1 {
636 pub dwVersion: u32,
637 pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK,
638 pub pContext: *mut ::core::ffi::c_void,
639 pub dwNotificationStatus: u32,
640 pub ServiceStatus: SERVICE_STATUS_PROCESS,
641}
642impl ::core::marker::Copy for SERVICE_NOTIFY_1 {}
643impl ::core::clone::Clone for SERVICE_NOTIFY_1 {
644 fn clone(&self) -> Self {
645 *self
646 }
647}
648#[repr(C)]
649#[cfg(feature = "Win32_Foundation")]
650pub struct SERVICE_NOTIFY_2A {
651 pub dwVersion: u32,
652 pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK,
653 pub pContext: *mut ::core::ffi::c_void,
654 pub dwNotificationStatus: u32,
655 pub ServiceStatus: SERVICE_STATUS_PROCESS,
656 pub dwNotificationTriggered: u32,
657 pub pszServiceNames: super::super::Foundation::PSTR,
658}
659#[cfg(feature = "Win32_Foundation")]
660impl ::core::marker::Copy for SERVICE_NOTIFY_2A {}
661#[cfg(feature = "Win32_Foundation")]
662impl ::core::clone::Clone for SERVICE_NOTIFY_2A {
663 fn clone(&self) -> Self {
664 *self
665 }
666}
667#[repr(C)]
668#[cfg(feature = "Win32_Foundation")]
669pub struct SERVICE_NOTIFY_2W {
670 pub dwVersion: u32,
671 pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK,
672 pub pContext: *mut ::core::ffi::c_void,
673 pub dwNotificationStatus: u32,
674 pub ServiceStatus: SERVICE_STATUS_PROCESS,
675 pub dwNotificationTriggered: u32,
676 pub pszServiceNames: super::super::Foundation::PWSTR,
677}
678#[cfg(feature = "Win32_Foundation")]
679impl ::core::marker::Copy for SERVICE_NOTIFY_2W {}
680#[cfg(feature = "Win32_Foundation")]
681impl ::core::clone::Clone for SERVICE_NOTIFY_2W {
682 fn clone(&self) -> Self {
683 *self
684 }
685}
686pub const SERVICE_NOTIFY_STATUS_CHANGE: u32 = 2u32;
687pub const SERVICE_NOTIFY_STATUS_CHANGE_1: u32 = 1u32;
688pub const SERVICE_NOTIFY_STATUS_CHANGE_2: u32 = 2u32;
689pub const SERVICE_NO_CHANGE: u32 = 4294967295u32;
690pub const SERVICE_PAUSE_CONTINUE: u32 = 64u32;
691#[repr(C)]
692#[cfg(feature = "Win32_Foundation")]
693pub struct SERVICE_PREFERRED_NODE_INFO {
694 pub usPreferredNode: u16,
695 pub fDelete: super::super::Foundation::BOOLEAN,
696}
697#[cfg(feature = "Win32_Foundation")]
698impl ::core::marker::Copy for SERVICE_PREFERRED_NODE_INFO {}
699#[cfg(feature = "Win32_Foundation")]
700impl ::core::clone::Clone for SERVICE_PREFERRED_NODE_INFO {
701 fn clone(&self) -> Self {
702 *self
703 }
704}
705#[repr(C)]
706pub struct SERVICE_PRESHUTDOWN_INFO {
707 pub dwPreshutdownTimeout: u32,
708}
709impl ::core::marker::Copy for SERVICE_PRESHUTDOWN_INFO {}
710impl ::core::clone::Clone for SERVICE_PRESHUTDOWN_INFO {
711 fn clone(&self) -> Self {
712 *self
713 }
714}
715pub const SERVICE_QUERY_CONFIG: u32 = 1u32;
716pub const SERVICE_QUERY_STATUS: u32 = 4u32;
717pub type SERVICE_REGISTRY_STATE_TYPE = i32;
718pub const ServiceRegistryStateParameters: SERVICE_REGISTRY_STATE_TYPE = 0i32;
719pub const ServiceRegistryStatePersistent: SERVICE_REGISTRY_STATE_TYPE = 1i32;
720pub const MaxServiceRegistryStateType: SERVICE_REGISTRY_STATE_TYPE = 2i32;
721#[repr(C)]
722#[cfg(feature = "Win32_Foundation")]
723pub struct SERVICE_REQUIRED_PRIVILEGES_INFOA {
724 pub pmszRequiredPrivileges: super::super::Foundation::PSTR,
725}
726#[cfg(feature = "Win32_Foundation")]
727impl ::core::marker::Copy for SERVICE_REQUIRED_PRIVILEGES_INFOA {}
728#[cfg(feature = "Win32_Foundation")]
729impl ::core::clone::Clone for SERVICE_REQUIRED_PRIVILEGES_INFOA {
730 fn clone(&self) -> Self {
731 *self
732 }
733}
734#[repr(C)]
735#[cfg(feature = "Win32_Foundation")]
736pub struct SERVICE_REQUIRED_PRIVILEGES_INFOW {
737 pub pmszRequiredPrivileges: super::super::Foundation::PWSTR,
738}
739#[cfg(feature = "Win32_Foundation")]
740impl ::core::marker::Copy for SERVICE_REQUIRED_PRIVILEGES_INFOW {}
741#[cfg(feature = "Win32_Foundation")]
742impl ::core::clone::Clone for SERVICE_REQUIRED_PRIVILEGES_INFOW {
743 fn clone(&self) -> Self {
744 *self
745 }
746}
747pub type SERVICE_RUNS_IN_PROCESS = u32;
748pub const SERVICE_RUNS_IN_NON_SYSTEM_OR_NOT_RUNNING: SERVICE_RUNS_IN_PROCESS = 0u32;
749pub const SERVICE_RUNS_IN_SYSTEM_PROCESS: SERVICE_RUNS_IN_PROCESS = 1u32;
750pub type SERVICE_SHARED_DIRECTORY_TYPE = i32;
751pub const ServiceSharedDirectoryPersistentState: SERVICE_SHARED_DIRECTORY_TYPE = 0i32;
752pub type SERVICE_SHARED_REGISTRY_STATE_TYPE = i32;
753pub const ServiceSharedRegistryPersistentState: SERVICE_SHARED_REGISTRY_STATE_TYPE = 0i32;
754#[repr(C)]
755pub struct SERVICE_SID_INFO {
756 pub dwServiceSidType: u32,
757}
758impl ::core::marker::Copy for SERVICE_SID_INFO {}
759impl ::core::clone::Clone for SERVICE_SID_INFO {
760 fn clone(&self) -> Self {
761 *self
762 }
763}
764pub const SERVICE_SID_TYPE_NONE: u32 = 0u32;
765pub const SERVICE_SID_TYPE_UNRESTRICTED: u32 = 1u32;
766pub const SERVICE_START: u32 = 16u32;
767#[repr(C)]
768pub struct SERVICE_START_REASON {
769 pub dwReason: u32,
770}
771impl ::core::marker::Copy for SERVICE_START_REASON {}
772impl ::core::clone::Clone for SERVICE_START_REASON {
773 fn clone(&self) -> Self {
774 *self
775 }
776}
777pub const SERVICE_START_REASON_AUTO: u32 = 2u32;
778pub const SERVICE_START_REASON_DELAYEDAUTO: u32 = 16u32;
779pub const SERVICE_START_REASON_DEMAND: u32 = 1u32;
780pub const SERVICE_START_REASON_RESTART_ON_FAILURE: u32 = 8u32;
781pub const SERVICE_START_REASON_TRIGGER: u32 = 4u32;
782pub type SERVICE_START_TYPE = u32;
783pub const SERVICE_AUTO_START: SERVICE_START_TYPE = 2u32;
784pub const SERVICE_BOOT_START: SERVICE_START_TYPE = 0u32;
785pub const SERVICE_DEMAND_START: SERVICE_START_TYPE = 3u32;
786pub const SERVICE_DISABLED: SERVICE_START_TYPE = 4u32;
787pub const SERVICE_SYSTEM_START: SERVICE_START_TYPE = 1u32;
788#[repr(C)]
789pub struct SERVICE_STATUS {
790 pub dwServiceType: ENUM_SERVICE_TYPE,
791 pub dwCurrentState: SERVICE_STATUS_CURRENT_STATE,
792 pub dwControlsAccepted: u32,
793 pub dwWin32ExitCode: u32,
794 pub dwServiceSpecificExitCode: u32,
795 pub dwCheckPoint: u32,
796 pub dwWaitHint: u32,
797}
798impl ::core::marker::Copy for SERVICE_STATUS {}
799impl ::core::clone::Clone for SERVICE_STATUS {
800 fn clone(&self) -> Self {
801 *self
802 }
803}
804pub type SERVICE_STATUS_CURRENT_STATE = u32;
805pub const SERVICE_CONTINUE_PENDING: SERVICE_STATUS_CURRENT_STATE = 5u32;
806pub const SERVICE_PAUSE_PENDING: SERVICE_STATUS_CURRENT_STATE = 6u32;
807pub const SERVICE_PAUSED: SERVICE_STATUS_CURRENT_STATE = 7u32;
808pub const SERVICE_RUNNING: SERVICE_STATUS_CURRENT_STATE = 4u32;
809pub const SERVICE_START_PENDING: SERVICE_STATUS_CURRENT_STATE = 2u32;
810pub const SERVICE_STOP_PENDING: SERVICE_STATUS_CURRENT_STATE = 3u32;
811pub const SERVICE_STOPPED: SERVICE_STATUS_CURRENT_STATE = 1u32;
812pub type SERVICE_STATUS_HANDLE = isize;
813#[repr(C)]
814pub struct SERVICE_STATUS_PROCESS {
815 pub dwServiceType: ENUM_SERVICE_TYPE,
816 pub dwCurrentState: SERVICE_STATUS_CURRENT_STATE,
817 pub dwControlsAccepted: u32,
818 pub dwWin32ExitCode: u32,
819 pub dwServiceSpecificExitCode: u32,
820 pub dwCheckPoint: u32,
821 pub dwWaitHint: u32,
822 pub dwProcessId: u32,
823 pub dwServiceFlags: SERVICE_RUNS_IN_PROCESS,
824}
825impl ::core::marker::Copy for SERVICE_STATUS_PROCESS {}
826impl ::core::clone::Clone for SERVICE_STATUS_PROCESS {
827 fn clone(&self) -> Self {
828 *self
829 }
830}
831pub const SERVICE_STOP: u32 = 32u32;
832pub const SERVICE_STOP_REASON_FLAG_CUSTOM: u32 = 536870912u32;
833pub const SERVICE_STOP_REASON_FLAG_MAX: u32 = 2147483648u32;
834pub const SERVICE_STOP_REASON_FLAG_MIN: u32 = 0u32;
835pub const SERVICE_STOP_REASON_FLAG_PLANNED: u32 = 1073741824u32;
836pub const SERVICE_STOP_REASON_FLAG_UNPLANNED: u32 = 268435456u32;
837pub const SERVICE_STOP_REASON_MAJOR_APPLICATION: u32 = 327680u32;
838pub const SERVICE_STOP_REASON_MAJOR_HARDWARE: u32 = 131072u32;
839pub const SERVICE_STOP_REASON_MAJOR_MAX: u32 = 458752u32;
840pub const SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM: u32 = 16711680u32;
841pub const SERVICE_STOP_REASON_MAJOR_MIN: u32 = 0u32;
842pub const SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM: u32 = 4194304u32;
843pub const SERVICE_STOP_REASON_MAJOR_NONE: u32 = 393216u32;
844pub const SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM: u32 = 196608u32;
845pub const SERVICE_STOP_REASON_MAJOR_OTHER: u32 = 65536u32;
846pub const SERVICE_STOP_REASON_MAJOR_SOFTWARE: u32 = 262144u32;
847pub const SERVICE_STOP_REASON_MINOR_DISK: u32 = 8u32;
848pub const SERVICE_STOP_REASON_MINOR_ENVIRONMENT: u32 = 10u32;
849pub const SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER: u32 = 11u32;
850pub const SERVICE_STOP_REASON_MINOR_HUNG: u32 = 6u32;
851pub const SERVICE_STOP_REASON_MINOR_INSTALLATION: u32 = 3u32;
852pub const SERVICE_STOP_REASON_MINOR_MAINTENANCE: u32 = 2u32;
853pub const SERVICE_STOP_REASON_MINOR_MAX: u32 = 25u32;
854pub const SERVICE_STOP_REASON_MINOR_MAX_CUSTOM: u32 = 65535u32;
855pub const SERVICE_STOP_REASON_MINOR_MEMOTYLIMIT: u32 = 24u32;
856pub const SERVICE_STOP_REASON_MINOR_MIN: u32 = 0u32;
857pub const SERVICE_STOP_REASON_MINOR_MIN_CUSTOM: u32 = 256u32;
858pub const SERVICE_STOP_REASON_MINOR_MMC: u32 = 22u32;
859pub const SERVICE_STOP_REASON_MINOR_NETWORKCARD: u32 = 9u32;
860pub const SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY: u32 = 17u32;
861pub const SERVICE_STOP_REASON_MINOR_NONE: u32 = 23u32;
862pub const SERVICE_STOP_REASON_MINOR_OTHER: u32 = 1u32;
863pub const SERVICE_STOP_REASON_MINOR_OTHERDRIVER: u32 = 12u32;
864pub const SERVICE_STOP_REASON_MINOR_RECONFIG: u32 = 5u32;
865pub const SERVICE_STOP_REASON_MINOR_SECURITY: u32 = 16u32;
866pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX: u32 = 15u32;
867pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL: u32 = 21u32;
868pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK: u32 = 13u32;
869pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL: u32 = 19u32;
870pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE: u32 = 14u32;
871pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL: u32 = 20u32;
872pub const SERVICE_STOP_REASON_MINOR_UNSTABLE: u32 = 7u32;
873pub const SERVICE_STOP_REASON_MINOR_UPGRADE: u32 = 4u32;
874pub const SERVICE_STOP_REASON_MINOR_WMI: u32 = 18u32;
875#[repr(C)]
876#[cfg(feature = "Win32_Foundation")]
877pub struct SERVICE_TABLE_ENTRYA {
878 pub lpServiceName: super::super::Foundation::PSTR,
879 pub lpServiceProc: LPSERVICE_MAIN_FUNCTIONA,
880}
881#[cfg(feature = "Win32_Foundation")]
882impl ::core::marker::Copy for SERVICE_TABLE_ENTRYA {}
883#[cfg(feature = "Win32_Foundation")]
884impl ::core::clone::Clone for SERVICE_TABLE_ENTRYA {
885 fn clone(&self) -> Self {
886 *self
887 }
888}
889#[repr(C)]
890#[cfg(feature = "Win32_Foundation")]
891pub struct SERVICE_TABLE_ENTRYW {
892 pub lpServiceName: super::super::Foundation::PWSTR,
893 pub lpServiceProc: LPSERVICE_MAIN_FUNCTIONW,
894}
895#[cfg(feature = "Win32_Foundation")]
896impl ::core::marker::Copy for SERVICE_TABLE_ENTRYW {}
897#[cfg(feature = "Win32_Foundation")]
898impl ::core::clone::Clone for SERVICE_TABLE_ENTRYW {
899 fn clone(&self) -> Self {
900 *self
901 }
902}
903#[repr(C)]
904pub struct SERVICE_TIMECHANGE_INFO {
905 pub liNewTime: i64,
906 pub liOldTime: i64,
907}
908impl ::core::marker::Copy for SERVICE_TIMECHANGE_INFO {}
909impl ::core::clone::Clone for SERVICE_TIMECHANGE_INFO {
910 fn clone(&self) -> Self {
911 *self
912 }
913}
914#[repr(C)]
915pub struct SERVICE_TRIGGER {
916 pub dwTriggerType: SERVICE_TRIGGER_TYPE,
917 pub dwAction: SERVICE_TRIGGER_ACTION,
918 pub pTriggerSubtype: *mut ::windows_sys::core::GUID,
919 pub cDataItems: u32,
920 pub pDataItems: *mut SERVICE_TRIGGER_SPECIFIC_DATA_ITEM,
921}
922impl ::core::marker::Copy for SERVICE_TRIGGER {}
923impl ::core::clone::Clone for SERVICE_TRIGGER {
924 fn clone(&self) -> Self {
925 *self
926 }
927}
928pub type SERVICE_TRIGGER_ACTION = u32;
929pub const SERVICE_TRIGGER_ACTION_SERVICE_START: SERVICE_TRIGGER_ACTION = 1u32;
930pub const SERVICE_TRIGGER_ACTION_SERVICE_STOP: SERVICE_TRIGGER_ACTION = 2u32;
931#[repr(C)]
932pub struct SERVICE_TRIGGER_CUSTOM_STATE_ID {
933 pub Data: [u32; 2],
934}
935impl ::core::marker::Copy for SERVICE_TRIGGER_CUSTOM_STATE_ID {}
936impl ::core::clone::Clone for SERVICE_TRIGGER_CUSTOM_STATE_ID {
937 fn clone(&self) -> Self {
938 *self
939 }
940}
941#[repr(C)]
942pub struct SERVICE_TRIGGER_INFO {
943 pub cTriggers: u32,
944 pub pTriggers: *mut SERVICE_TRIGGER,
945 pub pReserved: *mut u8,
946}
947impl ::core::marker::Copy for SERVICE_TRIGGER_INFO {}
948impl ::core::clone::Clone for SERVICE_TRIGGER_INFO {
949 fn clone(&self) -> Self {
950 *self
951 }
952}
953#[repr(C)]
954pub struct SERVICE_TRIGGER_SPECIFIC_DATA_ITEM {
955 pub dwDataType: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE,
956 pub cbData: u32,
957 pub pData: *mut u8,
958}
959impl ::core::marker::Copy for SERVICE_TRIGGER_SPECIFIC_DATA_ITEM {}
960impl ::core::clone::Clone for SERVICE_TRIGGER_SPECIFIC_DATA_ITEM {
961 fn clone(&self) -> Self {
962 *self
963 }
964}
965pub type SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE = u32;
966pub const SERVICE_TRIGGER_DATA_TYPE_BINARY: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE = 1u32;
967pub const SERVICE_TRIGGER_DATA_TYPE_STRING: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE = 2u32;
968pub const SERVICE_TRIGGER_DATA_TYPE_LEVEL: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE = 3u32;
969pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE = 4u32;
970pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE = 5u32;
971pub type SERVICE_TRIGGER_TYPE = u32;
972pub const SERVICE_TRIGGER_TYPE_CUSTOM: SERVICE_TRIGGER_TYPE = 20u32;
973pub const SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL: SERVICE_TRIGGER_TYPE = 1u32;
974pub const SERVICE_TRIGGER_TYPE_DOMAIN_JOIN: SERVICE_TRIGGER_TYPE = 3u32;
975pub const SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT: SERVICE_TRIGGER_TYPE = 4u32;
976pub const SERVICE_TRIGGER_TYPE_GROUP_POLICY: SERVICE_TRIGGER_TYPE = 5u32;
977pub const SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY: SERVICE_TRIGGER_TYPE = 2u32;
978pub const SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT: SERVICE_TRIGGER_TYPE = 6u32;
979pub const SERVICE_TRIGGER_TYPE_AGGREGATE: u32 = 30u32;
980pub const SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE: u32 = 7u32;
981pub const SERVICE_USER_DEFINED_CONTROL: u32 = 256u32;
982pub const USER_POLICY_PRESENT_GUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1425753800, data2: 61577, data3: 17996, data4: [177, 253, 89, 209, 182, 44, 59, 80] };
983#[repr(C)]
984pub struct _SC_NOTIFICATION_REGISTRATION(pub u8);