1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
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
,
12 dwstarttype
: SERVICE_START_TYPE
,
13 dwerrorcontrol
: SERVICE_ERROR
,
14 lpbinarypathname
: super::super::Foundation
::PSTR
,
15 lploadordergroup
: super::super::Foundation
::PSTR
,
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
,
26 dwstarttype
: SERVICE_START_TYPE
,
27 dwerrorcontrol
: SERVICE_ERROR
,
28 lpbinarypathname
: super::super::Foundation
::PWSTR
,
29 lploadordergroup
: super::super::Foundation
::PWSTR
,
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
,
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
,
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
,
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
,
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;
169 pub 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] }
;
170 pub 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] }
;
171 pub const DOMAIN_LEAVE_GUID
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
175 data4
: [149, 116, 195, 182, 21, 212, 46, 161],
177 pub type ENUM_SERVICE_STATE
= u32;
178 pub const SERVICE_ACTIVE
: ENUM_SERVICE_STATE
= 1u32;
179 pub const SERVICE_INACTIVE
: ENUM_SERVICE_STATE
= 2u32;
180 pub const SERVICE_STATE_ALL
: ENUM_SERVICE_STATE
= 3u32;
182 #[cfg(feature = "Win32_Foundation")]
183 pub struct ENUM_SERVICE_STATUSA
{
184 pub lpServiceName
: super::super::Foundation
::PSTR
,
185 pub lpDisplayName
: super::super::Foundation
::PSTR
,
186 pub ServiceStatus
: SERVICE_STATUS
,
188 #[cfg(feature = "Win32_Foundation")]
189 impl ::core
::marker
::Copy
for ENUM_SERVICE_STATUSA {}
190 #[cfg(feature = "Win32_Foundation")]
191 impl ::core
::clone
::Clone
for ENUM_SERVICE_STATUSA
{
192 fn clone(&self) -> Self {
197 #[cfg(feature = "Win32_Foundation")]
198 pub struct ENUM_SERVICE_STATUSW
{
199 pub lpServiceName
: super::super::Foundation
::PWSTR
,
200 pub lpDisplayName
: super::super::Foundation
::PWSTR
,
201 pub ServiceStatus
: SERVICE_STATUS
,
203 #[cfg(feature = "Win32_Foundation")]
204 impl ::core
::marker
::Copy
for ENUM_SERVICE_STATUSW {}
205 #[cfg(feature = "Win32_Foundation")]
206 impl ::core
::clone
::Clone
for ENUM_SERVICE_STATUSW
{
207 fn clone(&self) -> Self {
212 #[cfg(feature = "Win32_Foundation")]
213 pub 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
,
218 #[cfg(feature = "Win32_Foundation")]
219 impl ::core
::marker
::Copy
for ENUM_SERVICE_STATUS_PROCESSA {}
220 #[cfg(feature = "Win32_Foundation")]
221 impl ::core
::clone
::Clone
for ENUM_SERVICE_STATUS_PROCESSA
{
222 fn clone(&self) -> Self {
227 #[cfg(feature = "Win32_Foundation")]
228 pub 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
,
233 #[cfg(feature = "Win32_Foundation")]
234 impl ::core
::marker
::Copy
for ENUM_SERVICE_STATUS_PROCESSW {}
235 #[cfg(feature = "Win32_Foundation")]
236 impl ::core
::clone
::Clone
for ENUM_SERVICE_STATUS_PROCESSW
{
237 fn clone(&self) -> Self {
241 pub type ENUM_SERVICE_TYPE
= u32;
242 pub const SERVICE_DRIVER
: ENUM_SERVICE_TYPE
= 11u32;
243 pub const SERVICE_FILE_SYSTEM_DRIVER_
: ENUM_SERVICE_TYPE
= 2u32;
244 pub const SERVICE_KERNEL_DRIVER
: ENUM_SERVICE_TYPE
= 1u32;
245 pub const SERVICE_WIN32
: ENUM_SERVICE_TYPE
= 48u32;
246 pub const SERVICE_WIN32_OWN_PROCESS_
: ENUM_SERVICE_TYPE
= 16u32;
247 pub const SERVICE_WIN32_SHARE_PROCESS
: ENUM_SERVICE_TYPE
= 32u32;
248 pub const SERVICE_ADAPTER
: ENUM_SERVICE_TYPE
= 4u32;
249 pub const SERVICE_FILE_SYSTEM_DRIVER
: ENUM_SERVICE_TYPE
= 2u32;
250 pub const SERVICE_RECOGNIZER_DRIVER
: ENUM_SERVICE_TYPE
= 8u32;
251 pub const SERVICE_WIN32_OWN_PROCESS
: ENUM_SERVICE_TYPE
= 16u32;
252 pub const SERVICE_USER_OWN_PROCESS
: ENUM_SERVICE_TYPE
= 80u32;
253 pub const SERVICE_USER_SHARE_PROCESS
: ENUM_SERVICE_TYPE
= 96u32;
254 pub const FIREWALL_PORT_CLOSE_GUID
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
258 data4
: [157, 150, 230, 71, 64, 177, 165, 36],
260 pub 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] }
;
261 pub type HANDLER_FUNCTION
= unsafe extern "system" fn(dwcontrol
: u32);
262 pub 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;
263 pub type LPHANDLER_FUNCTION
= unsafe extern "system" fn(dwcontrol
: u32);
264 pub 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")]
266 pub type LPSERVICE_MAIN_FUNCTIONA
= unsafe extern "system" fn(dwnumservicesargs
: u32, lpserviceargvectors
: *mut super::super::Foundation
::PSTR
);
267 #[cfg(feature = "Win32_Foundation")]
268 pub type LPSERVICE_MAIN_FUNCTIONW
= unsafe extern "system" fn(dwnumservicesargs
: u32, lpserviceargvectors
: *mut super::super::Foundation
::PWSTR
);
269 pub const MACHINE_POLICY_PRESENT_GUID
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
273 data4
: [177, 255, 202, 42, 23, 141, 70, 224],
275 pub 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] }
;
276 pub const NETWORK_MANAGER_FIRST_IP_ADDRESS_ARRIVAL_GUID
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
280 data4
: [165, 73, 124, 212, 140, 188, 130, 69],
282 pub const NETWORK_MANAGER_LAST_IP_ADDRESS_REMOVAL_GUID
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
286 data4
: [132, 122, 182, 189, 249, 147, 227, 53],
288 pub type PFN_SC_NOTIFY_CALLBACK
= unsafe extern "system" fn(pparameter
: *const ::core
::ffi
::c_void
);
289 pub type PSC_NOTIFICATION_CALLBACK
= unsafe extern "system" fn(dwnotify
: u32, pcallbackcontext
: *const ::core
::ffi
::c_void
);
291 #[cfg(feature = "Win32_Foundation")]
292 pub 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
,
299 pub lpDependencies
: super::super::Foundation
::PSTR
,
300 pub lpServiceStartName
: super::super::Foundation
::PSTR
,
301 pub lpDisplayName
: super::super::Foundation
::PSTR
,
303 #[cfg(feature = "Win32_Foundation")]
304 impl ::core
::marker
::Copy
for QUERY_SERVICE_CONFIGA {}
305 #[cfg(feature = "Win32_Foundation")]
306 impl ::core
::clone
::Clone
for QUERY_SERVICE_CONFIGA
{
307 fn clone(&self) -> Self {
312 #[cfg(feature = "Win32_Foundation")]
313 pub 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
,
320 pub lpDependencies
: super::super::Foundation
::PWSTR
,
321 pub lpServiceStartName
: super::super::Foundation
::PWSTR
,
322 pub lpDisplayName
: super::super::Foundation
::PWSTR
,
324 #[cfg(feature = "Win32_Foundation")]
325 impl ::core
::marker
::Copy
for QUERY_SERVICE_CONFIGW {}
326 #[cfg(feature = "Win32_Foundation")]
327 impl ::core
::clone
::Clone
for QUERY_SERVICE_CONFIGW
{
328 fn clone(&self) -> Self {
333 #[cfg(feature = "Win32_Foundation")]
334 pub struct QUERY_SERVICE_LOCK_STATUSA
{
336 pub lpLockOwner
: super::super::Foundation
::PSTR
,
337 pub dwLockDuration
: u32,
339 #[cfg(feature = "Win32_Foundation")]
340 impl ::core
::marker
::Copy
for QUERY_SERVICE_LOCK_STATUSA {}
341 #[cfg(feature = "Win32_Foundation")]
342 impl ::core
::clone
::Clone
for QUERY_SERVICE_LOCK_STATUSA
{
343 fn clone(&self) -> Self {
348 #[cfg(feature = "Win32_Foundation")]
349 pub struct QUERY_SERVICE_LOCK_STATUSW
{
351 pub lpLockOwner
: super::super::Foundation
::PWSTR
,
352 pub dwLockDuration
: u32,
354 #[cfg(feature = "Win32_Foundation")]
355 impl ::core
::marker
::Copy
for QUERY_SERVICE_LOCK_STATUSW {}
356 #[cfg(feature = "Win32_Foundation")]
357 impl ::core
::clone
::Clone
for QUERY_SERVICE_LOCK_STATUSW
{
358 fn clone(&self) -> Self {
362 pub const RPC_INTERFACE_EVENT_GUID
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
366 data4
: [169, 186, 190, 11, 187, 245, 183, 77],
369 pub struct SC_ACTION
{
370 pub Type
: SC_ACTION_TYPE
,
373 impl ::core
::marker
::Copy
for SC_ACTION {}
374 impl ::core
::clone
::Clone
for SC_ACTION
{
375 fn clone(&self) -> Self {
379 pub type SC_ACTION_TYPE
= i32;
380 pub const SC_ACTION_NONE
: SC_ACTION_TYPE
= 0i32;
381 pub const SC_ACTION_RESTART
: SC_ACTION_TYPE
= 1i32;
382 pub const SC_ACTION_REBOOT
: SC_ACTION_TYPE
= 2i32;
383 pub const SC_ACTION_RUN_COMMAND
: SC_ACTION_TYPE
= 3i32;
384 pub const SC_ACTION_OWN_RESTART
: SC_ACTION_TYPE
= 4i32;
385 pub type SC_ENUM_TYPE
= i32;
386 pub const SC_ENUM_PROCESS_INFO
: SC_ENUM_TYPE
= 0i32;
387 pub type SC_EVENT_TYPE
= i32;
388 pub const SC_EVENT_DATABASE_CHANGE
: SC_EVENT_TYPE
= 0i32;
389 pub const SC_EVENT_PROPERTY_CHANGE
: SC_EVENT_TYPE
= 1i32;
390 pub const SC_EVENT_STATUS_CHANGE
: SC_EVENT_TYPE
= 2i32;
391 pub const SC_MANAGER_ALL_ACCESS
: u32 = 983103u32;
392 pub const SC_MANAGER_CONNECT
: u32 = 1u32;
393 pub const SC_MANAGER_CREATE_SERVICE
: u32 = 2u32;
394 pub const SC_MANAGER_ENUMERATE_SERVICE
: u32 = 4u32;
395 pub const SC_MANAGER_LOCK
: u32 = 8u32;
396 pub const SC_MANAGER_MODIFY_BOOT_CONFIG
: u32 = 32u32;
397 pub const SC_MANAGER_QUERY_LOCK_STATUS
: u32 = 16u32;
398 pub type SC_STATUS_TYPE
= i32;
399 pub const SC_STATUS_PROCESS_INFO
: SC_STATUS_TYPE
= 0i32;
400 pub const SERVICE_ACCEPT_HARDWAREPROFILECHANGE
: u32 = 32u32;
401 pub const SERVICE_ACCEPT_LOWRESOURCES
: u32 = 8192u32;
402 pub const SERVICE_ACCEPT_NETBINDCHANGE
: u32 = 16u32;
403 pub const SERVICE_ACCEPT_PARAMCHANGE
: u32 = 8u32;
404 pub const SERVICE_ACCEPT_PAUSE_CONTINUE
: u32 = 2u32;
405 pub const SERVICE_ACCEPT_POWEREVENT
: u32 = 64u32;
406 pub const SERVICE_ACCEPT_PRESHUTDOWN
: u32 = 256u32;
407 pub const SERVICE_ACCEPT_SESSIONCHANGE
: u32 = 128u32;
408 pub const SERVICE_ACCEPT_SHUTDOWN
: u32 = 4u32;
409 pub const SERVICE_ACCEPT_STOP
: u32 = 1u32;
410 pub const SERVICE_ACCEPT_SYSTEMLOWRESOURCES
: u32 = 16384u32;
411 pub const SERVICE_ACCEPT_TIMECHANGE
: u32 = 512u32;
412 pub const SERVICE_ACCEPT_TRIGGEREVENT
: u32 = 1024u32;
413 pub const SERVICE_ACCEPT_USER_LOGOFF
: u32 = 2048u32;
414 pub const SERVICE_ALL_ACCESS
: u32 = 983551u32;
415 pub const SERVICE_CHANGE_CONFIG
: u32 = 2u32;
416 pub type SERVICE_CONFIG
= u32;
417 pub const SERVICE_CONFIG_DELAYED_AUTO_START_INFO
: SERVICE_CONFIG
= 3u32;
418 pub const SERVICE_CONFIG_DESCRIPTION
: SERVICE_CONFIG
= 1u32;
419 pub const SERVICE_CONFIG_FAILURE_ACTIONS
: SERVICE_CONFIG
= 2u32;
420 pub const SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
: SERVICE_CONFIG
= 4u32;
421 pub const SERVICE_CONFIG_PREFERRED_NODE
: SERVICE_CONFIG
= 9u32;
422 pub const SERVICE_CONFIG_PRESHUTDOWN_INFO
: SERVICE_CONFIG
= 7u32;
423 pub const SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
: SERVICE_CONFIG
= 6u32;
424 pub const SERVICE_CONFIG_SERVICE_SID_INFO
: SERVICE_CONFIG
= 5u32;
425 pub const SERVICE_CONFIG_TRIGGER_INFO
: SERVICE_CONFIG
= 8u32;
426 pub const SERVICE_CONFIG_LAUNCH_PROTECTED
: SERVICE_CONFIG
= 12u32;
427 pub const SERVICE_CONTROL_CONTINUE
: u32 = 3u32;
428 pub const SERVICE_CONTROL_DEVICEEVENT
: u32 = 11u32;
429 pub const SERVICE_CONTROL_HARDWAREPROFILECHANGE
: u32 = 12u32;
430 pub const SERVICE_CONTROL_INTERROGATE
: u32 = 4u32;
431 pub const SERVICE_CONTROL_LOWRESOURCES
: u32 = 96u32;
432 pub const SERVICE_CONTROL_NETBINDADD
: u32 = 7u32;
433 pub const SERVICE_CONTROL_NETBINDDISABLE
: u32 = 10u32;
434 pub const SERVICE_CONTROL_NETBINDENABLE
: u32 = 9u32;
435 pub const SERVICE_CONTROL_NETBINDREMOVE
: u32 = 8u32;
436 pub const SERVICE_CONTROL_PARAMCHANGE
: u32 = 6u32;
437 pub const SERVICE_CONTROL_PAUSE
: u32 = 2u32;
438 pub const SERVICE_CONTROL_POWEREVENT
: u32 = 13u32;
439 pub const SERVICE_CONTROL_PRESHUTDOWN
: u32 = 15u32;
440 pub const SERVICE_CONTROL_SESSIONCHANGE
: u32 = 14u32;
441 pub const SERVICE_CONTROL_SHUTDOWN
: u32 = 5u32;
442 pub const SERVICE_CONTROL_STATUS_REASON_INFO
: u32 = 1u32;
444 #[cfg(feature = "Win32_Foundation")]
445 pub struct SERVICE_CONTROL_STATUS_REASON_PARAMSA
{
447 pub pszComment
: super::super::Foundation
::PSTR
,
448 pub ServiceStatus
: SERVICE_STATUS_PROCESS
,
450 #[cfg(feature = "Win32_Foundation")]
451 impl ::core
::marker
::Copy
for SERVICE_CONTROL_STATUS_REASON_PARAMSA {}
452 #[cfg(feature = "Win32_Foundation")]
453 impl ::core
::clone
::Clone
for SERVICE_CONTROL_STATUS_REASON_PARAMSA
{
454 fn clone(&self) -> Self {
459 #[cfg(feature = "Win32_Foundation")]
460 pub struct SERVICE_CONTROL_STATUS_REASON_PARAMSW
{
462 pub pszComment
: super::super::Foundation
::PWSTR
,
463 pub ServiceStatus
: SERVICE_STATUS_PROCESS
,
465 #[cfg(feature = "Win32_Foundation")]
466 impl ::core
::marker
::Copy
for SERVICE_CONTROL_STATUS_REASON_PARAMSW {}
467 #[cfg(feature = "Win32_Foundation")]
468 impl ::core
::clone
::Clone
for SERVICE_CONTROL_STATUS_REASON_PARAMSW
{
469 fn clone(&self) -> Self {
473 pub const SERVICE_CONTROL_STOP
: u32 = 1u32;
474 pub const SERVICE_CONTROL_SYSTEMLOWRESOURCES
: u32 = 97u32;
475 pub const SERVICE_CONTROL_TIMECHANGE
: u32 = 16u32;
476 pub const SERVICE_CONTROL_TRIGGEREVENT
: u32 = 32u32;
478 pub struct SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM
{
479 pub u
: SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0
,
481 impl ::core
::marker
::Copy
for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM {}
482 impl ::core
::clone
::Clone
for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM
{
483 fn clone(&self) -> Self {
488 pub 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
,
492 impl ::core
::marker
::Copy
for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0 {}
493 impl ::core
::clone
::Clone
for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0
{
494 fn clone(&self) -> Self {
499 pub struct SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0_0
{
503 impl ::core
::marker
::Copy
for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0_0 {}
504 impl ::core
::clone
::Clone
for SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM_0_0
{
505 fn clone(&self) -> Self {
510 #[cfg(feature = "Win32_Foundation")]
511 pub struct SERVICE_DELAYED_AUTO_START_INFO
{
512 pub fDelayedAutostart
: super::super::Foundation
::BOOL
,
514 #[cfg(feature = "Win32_Foundation")]
515 impl ::core
::marker
::Copy
for SERVICE_DELAYED_AUTO_START_INFO {}
516 #[cfg(feature = "Win32_Foundation")]
517 impl ::core
::clone
::Clone
for SERVICE_DELAYED_AUTO_START_INFO
{
518 fn clone(&self) -> Self {
523 #[cfg(feature = "Win32_Foundation")]
524 pub struct SERVICE_DESCRIPTIONA
{
525 pub lpDescription
: super::super::Foundation
::PSTR
,
527 #[cfg(feature = "Win32_Foundation")]
528 impl ::core
::marker
::Copy
for SERVICE_DESCRIPTIONA {}
529 #[cfg(feature = "Win32_Foundation")]
530 impl ::core
::clone
::Clone
for SERVICE_DESCRIPTIONA
{
531 fn clone(&self) -> Self {
536 #[cfg(feature = "Win32_Foundation")]
537 pub struct SERVICE_DESCRIPTIONW
{
538 pub lpDescription
: super::super::Foundation
::PWSTR
,
540 #[cfg(feature = "Win32_Foundation")]
541 impl ::core
::marker
::Copy
for SERVICE_DESCRIPTIONW {}
542 #[cfg(feature = "Win32_Foundation")]
543 impl ::core
::clone
::Clone
for SERVICE_DESCRIPTIONW
{
544 fn clone(&self) -> Self {
548 pub type SERVICE_DIRECTORY_TYPE
= i32;
549 pub const ServiceDirectoryPersistentState
: SERVICE_DIRECTORY_TYPE
= 0i32;
550 pub const ServiceDirectoryTypeMax
: SERVICE_DIRECTORY_TYPE
= 1i32;
551 pub const SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON
: u32 = 1u32;
552 pub const SERVICE_ENUMERATE_DEPENDENTS
: u32 = 8u32;
553 pub type SERVICE_ERROR
= u32;
554 pub const SERVICE_ERROR_CRITICAL
: SERVICE_ERROR
= 3u32;
555 pub const SERVICE_ERROR_IGNORE
: SERVICE_ERROR
= 0u32;
556 pub const SERVICE_ERROR_NORMAL
: SERVICE_ERROR
= 1u32;
557 pub const SERVICE_ERROR_SEVERE
: SERVICE_ERROR
= 2u32;
559 #[cfg(feature = "Win32_Foundation")]
560 pub struct SERVICE_FAILURE_ACTIONSA
{
561 pub dwResetPeriod
: u32,
562 pub lpRebootMsg
: super::super::Foundation
::PSTR
,
563 pub lpCommand
: super::super::Foundation
::PSTR
,
565 pub lpsaActions
: *mut SC_ACTION
,
567 #[cfg(feature = "Win32_Foundation")]
568 impl ::core
::marker
::Copy
for SERVICE_FAILURE_ACTIONSA {}
569 #[cfg(feature = "Win32_Foundation")]
570 impl ::core
::clone
::Clone
for SERVICE_FAILURE_ACTIONSA
{
571 fn clone(&self) -> Self {
576 #[cfg(feature = "Win32_Foundation")]
577 pub struct SERVICE_FAILURE_ACTIONSW
{
578 pub dwResetPeriod
: u32,
579 pub lpRebootMsg
: super::super::Foundation
::PWSTR
,
580 pub lpCommand
: super::super::Foundation
::PWSTR
,
582 pub lpsaActions
: *mut SC_ACTION
,
584 #[cfg(feature = "Win32_Foundation")]
585 impl ::core
::marker
::Copy
for SERVICE_FAILURE_ACTIONSW {}
586 #[cfg(feature = "Win32_Foundation")]
587 impl ::core
::clone
::Clone
for SERVICE_FAILURE_ACTIONSW
{
588 fn clone(&self) -> Self {
593 #[cfg(feature = "Win32_Foundation")]
594 pub struct SERVICE_FAILURE_ACTIONS_FLAG
{
595 pub fFailureActionsOnNonCrashFailures
: super::super::Foundation
::BOOL
,
597 #[cfg(feature = "Win32_Foundation")]
598 impl ::core
::marker
::Copy
for SERVICE_FAILURE_ACTIONS_FLAG {}
599 #[cfg(feature = "Win32_Foundation")]
600 impl ::core
::clone
::Clone
for SERVICE_FAILURE_ACTIONS_FLAG
{
601 fn clone(&self) -> Self {
605 pub const SERVICE_INTERROGATE
: u32 = 128u32;
606 pub const SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT
: u32 = 3u32;
608 pub struct SERVICE_LAUNCH_PROTECTED_INFO
{
609 pub dwLaunchProtected
: u32,
611 impl ::core
::marker
::Copy
for SERVICE_LAUNCH_PROTECTED_INFO {}
612 impl ::core
::clone
::Clone
for SERVICE_LAUNCH_PROTECTED_INFO
{
613 fn clone(&self) -> Self {
617 pub const SERVICE_LAUNCH_PROTECTED_NONE
: u32 = 0u32;
618 pub const SERVICE_LAUNCH_PROTECTED_WINDOWS
: u32 = 1u32;
619 pub const SERVICE_LAUNCH_PROTECTED_WINDOWS_LIGHT
: u32 = 2u32;
620 pub type SERVICE_MAIN_FUNCTIONA
= unsafe extern "system" fn(dwnumservicesargs
: u32, lpserviceargvectors
: *mut *mut i8);
621 #[cfg(feature = "Win32_Foundation")]
622 pub type SERVICE_MAIN_FUNCTIONW
= unsafe extern "system" fn(dwnumservicesargs
: u32, lpserviceargvectors
: *mut super::super::Foundation
::PWSTR
);
623 pub type SERVICE_NOTIFY
= u32;
624 pub const SERVICE_NOTIFY_CREATED
: SERVICE_NOTIFY
= 128u32;
625 pub const SERVICE_NOTIFY_CONTINUE_PENDING
: SERVICE_NOTIFY
= 16u32;
626 pub const SERVICE_NOTIFY_DELETE_PENDING
: SERVICE_NOTIFY
= 512u32;
627 pub const SERVICE_NOTIFY_DELETED
: SERVICE_NOTIFY
= 256u32;
628 pub const SERVICE_NOTIFY_PAUSE_PENDING
: SERVICE_NOTIFY
= 32u32;
629 pub const SERVICE_NOTIFY_PAUSED
: SERVICE_NOTIFY
= 64u32;
630 pub const SERVICE_NOTIFY_RUNNING
: SERVICE_NOTIFY
= 8u32;
631 pub const SERVICE_NOTIFY_START_PENDING
: SERVICE_NOTIFY
= 2u32;
632 pub const SERVICE_NOTIFY_STOP_PENDING
: SERVICE_NOTIFY
= 4u32;
633 pub const SERVICE_NOTIFY_STOPPED
: SERVICE_NOTIFY
= 1u32;
635 pub struct SERVICE_NOTIFY_1
{
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
,
642 impl ::core
::marker
::Copy
for SERVICE_NOTIFY_1 {}
643 impl ::core
::clone
::Clone
for SERVICE_NOTIFY_1
{
644 fn clone(&self) -> Self {
649 #[cfg(feature = "Win32_Foundation")]
650 pub struct SERVICE_NOTIFY_2A
{
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
,
659 #[cfg(feature = "Win32_Foundation")]
660 impl ::core
::marker
::Copy
for SERVICE_NOTIFY_2A {}
661 #[cfg(feature = "Win32_Foundation")]
662 impl ::core
::clone
::Clone
for SERVICE_NOTIFY_2A
{
663 fn clone(&self) -> Self {
668 #[cfg(feature = "Win32_Foundation")]
669 pub struct SERVICE_NOTIFY_2W
{
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
,
678 #[cfg(feature = "Win32_Foundation")]
679 impl ::core
::marker
::Copy
for SERVICE_NOTIFY_2W {}
680 #[cfg(feature = "Win32_Foundation")]
681 impl ::core
::clone
::Clone
for SERVICE_NOTIFY_2W
{
682 fn clone(&self) -> Self {
686 pub const SERVICE_NOTIFY_STATUS_CHANGE
: u32 = 2u32;
687 pub const SERVICE_NOTIFY_STATUS_CHANGE_1
: u32 = 1u32;
688 pub const SERVICE_NOTIFY_STATUS_CHANGE_2
: u32 = 2u32;
689 pub const SERVICE_NO_CHANGE
: u32 = 4294967295u32;
690 pub const SERVICE_PAUSE_CONTINUE
: u32 = 64u32;
692 #[cfg(feature = "Win32_Foundation")]
693 pub struct SERVICE_PREFERRED_NODE_INFO
{
694 pub usPreferredNode
: u16,
695 pub fDelete
: super::super::Foundation
::BOOLEAN
,
697 #[cfg(feature = "Win32_Foundation")]
698 impl ::core
::marker
::Copy
for SERVICE_PREFERRED_NODE_INFO {}
699 #[cfg(feature = "Win32_Foundation")]
700 impl ::core
::clone
::Clone
for SERVICE_PREFERRED_NODE_INFO
{
701 fn clone(&self) -> Self {
706 pub struct SERVICE_PRESHUTDOWN_INFO
{
707 pub dwPreshutdownTimeout
: u32,
709 impl ::core
::marker
::Copy
for SERVICE_PRESHUTDOWN_INFO {}
710 impl ::core
::clone
::Clone
for SERVICE_PRESHUTDOWN_INFO
{
711 fn clone(&self) -> Self {
715 pub const SERVICE_QUERY_CONFIG
: u32 = 1u32;
716 pub const SERVICE_QUERY_STATUS
: u32 = 4u32;
717 pub type SERVICE_REGISTRY_STATE_TYPE
= i32;
718 pub const ServiceRegistryStateParameters
: SERVICE_REGISTRY_STATE_TYPE
= 0i32;
719 pub const ServiceRegistryStatePersistent
: SERVICE_REGISTRY_STATE_TYPE
= 1i32;
720 pub const MaxServiceRegistryStateType
: SERVICE_REGISTRY_STATE_TYPE
= 2i32;
722 #[cfg(feature = "Win32_Foundation")]
723 pub struct SERVICE_REQUIRED_PRIVILEGES_INFOA
{
724 pub pmszRequiredPrivileges
: super::super::Foundation
::PSTR
,
726 #[cfg(feature = "Win32_Foundation")]
727 impl ::core
::marker
::Copy
for SERVICE_REQUIRED_PRIVILEGES_INFOA {}
728 #[cfg(feature = "Win32_Foundation")]
729 impl ::core
::clone
::Clone
for SERVICE_REQUIRED_PRIVILEGES_INFOA
{
730 fn clone(&self) -> Self {
735 #[cfg(feature = "Win32_Foundation")]
736 pub struct SERVICE_REQUIRED_PRIVILEGES_INFOW
{
737 pub pmszRequiredPrivileges
: super::super::Foundation
::PWSTR
,
739 #[cfg(feature = "Win32_Foundation")]
740 impl ::core
::marker
::Copy
for SERVICE_REQUIRED_PRIVILEGES_INFOW {}
741 #[cfg(feature = "Win32_Foundation")]
742 impl ::core
::clone
::Clone
for SERVICE_REQUIRED_PRIVILEGES_INFOW
{
743 fn clone(&self) -> Self {
747 pub type SERVICE_RUNS_IN_PROCESS
= u32;
748 pub const SERVICE_RUNS_IN_NON_SYSTEM_OR_NOT_RUNNING
: SERVICE_RUNS_IN_PROCESS
= 0u32;
749 pub const SERVICE_RUNS_IN_SYSTEM_PROCESS
: SERVICE_RUNS_IN_PROCESS
= 1u32;
750 pub type SERVICE_SHARED_DIRECTORY_TYPE
= i32;
751 pub const ServiceSharedDirectoryPersistentState
: SERVICE_SHARED_DIRECTORY_TYPE
= 0i32;
752 pub type SERVICE_SHARED_REGISTRY_STATE_TYPE
= i32;
753 pub const ServiceSharedRegistryPersistentState
: SERVICE_SHARED_REGISTRY_STATE_TYPE
= 0i32;
755 pub struct SERVICE_SID_INFO
{
756 pub dwServiceSidType
: u32,
758 impl ::core
::marker
::Copy
for SERVICE_SID_INFO {}
759 impl ::core
::clone
::Clone
for SERVICE_SID_INFO
{
760 fn clone(&self) -> Self {
764 pub const SERVICE_SID_TYPE_NONE
: u32 = 0u32;
765 pub const SERVICE_SID_TYPE_UNRESTRICTED
: u32 = 1u32;
766 pub const SERVICE_START
: u32 = 16u32;
768 pub struct SERVICE_START_REASON
{
771 impl ::core
::marker
::Copy
for SERVICE_START_REASON {}
772 impl ::core
::clone
::Clone
for SERVICE_START_REASON
{
773 fn clone(&self) -> Self {
777 pub const SERVICE_START_REASON_AUTO
: u32 = 2u32;
778 pub const SERVICE_START_REASON_DELAYEDAUTO
: u32 = 16u32;
779 pub const SERVICE_START_REASON_DEMAND
: u32 = 1u32;
780 pub const SERVICE_START_REASON_RESTART_ON_FAILURE
: u32 = 8u32;
781 pub const SERVICE_START_REASON_TRIGGER
: u32 = 4u32;
782 pub type SERVICE_START_TYPE
= u32;
783 pub const SERVICE_AUTO_START
: SERVICE_START_TYPE
= 2u32;
784 pub const SERVICE_BOOT_START
: SERVICE_START_TYPE
= 0u32;
785 pub const SERVICE_DEMAND_START
: SERVICE_START_TYPE
= 3u32;
786 pub const SERVICE_DISABLED
: SERVICE_START_TYPE
= 4u32;
787 pub const SERVICE_SYSTEM_START
: SERVICE_START_TYPE
= 1u32;
789 pub 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,
798 impl ::core
::marker
::Copy
for SERVICE_STATUS {}
799 impl ::core
::clone
::Clone
for SERVICE_STATUS
{
800 fn clone(&self) -> Self {
804 pub type SERVICE_STATUS_CURRENT_STATE
= u32;
805 pub const SERVICE_CONTINUE_PENDING
: SERVICE_STATUS_CURRENT_STATE
= 5u32;
806 pub const SERVICE_PAUSE_PENDING
: SERVICE_STATUS_CURRENT_STATE
= 6u32;
807 pub const SERVICE_PAUSED
: SERVICE_STATUS_CURRENT_STATE
= 7u32;
808 pub const SERVICE_RUNNING
: SERVICE_STATUS_CURRENT_STATE
= 4u32;
809 pub const SERVICE_START_PENDING
: SERVICE_STATUS_CURRENT_STATE
= 2u32;
810 pub const SERVICE_STOP_PENDING
: SERVICE_STATUS_CURRENT_STATE
= 3u32;
811 pub const SERVICE_STOPPED
: SERVICE_STATUS_CURRENT_STATE
= 1u32;
812 pub type SERVICE_STATUS_HANDLE
= isize;
814 pub 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,
822 pub dwProcessId
: u32,
823 pub dwServiceFlags
: SERVICE_RUNS_IN_PROCESS
,
825 impl ::core
::marker
::Copy
for SERVICE_STATUS_PROCESS {}
826 impl ::core
::clone
::Clone
for SERVICE_STATUS_PROCESS
{
827 fn clone(&self) -> Self {
831 pub const SERVICE_STOP
: u32 = 32u32;
832 pub const SERVICE_STOP_REASON_FLAG_CUSTOM
: u32 = 536870912u32;
833 pub const SERVICE_STOP_REASON_FLAG_MAX
: u32 = 2147483648u32;
834 pub const SERVICE_STOP_REASON_FLAG_MIN
: u32 = 0u32;
835 pub const SERVICE_STOP_REASON_FLAG_PLANNED
: u32 = 1073741824u32;
836 pub const SERVICE_STOP_REASON_FLAG_UNPLANNED
: u32 = 268435456u32;
837 pub const SERVICE_STOP_REASON_MAJOR_APPLICATION
: u32 = 327680u32;
838 pub const SERVICE_STOP_REASON_MAJOR_HARDWARE
: u32 = 131072u32;
839 pub const SERVICE_STOP_REASON_MAJOR_MAX
: u32 = 458752u32;
840 pub const SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM
: u32 = 16711680u32;
841 pub const SERVICE_STOP_REASON_MAJOR_MIN
: u32 = 0u32;
842 pub const SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM
: u32 = 4194304u32;
843 pub const SERVICE_STOP_REASON_MAJOR_NONE
: u32 = 393216u32;
844 pub const SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM
: u32 = 196608u32;
845 pub const SERVICE_STOP_REASON_MAJOR_OTHER
: u32 = 65536u32;
846 pub const SERVICE_STOP_REASON_MAJOR_SOFTWARE
: u32 = 262144u32;
847 pub const SERVICE_STOP_REASON_MINOR_DISK
: u32 = 8u32;
848 pub const SERVICE_STOP_REASON_MINOR_ENVIRONMENT
: u32 = 10u32;
849 pub const SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER
: u32 = 11u32;
850 pub const SERVICE_STOP_REASON_MINOR_HUNG
: u32 = 6u32;
851 pub const SERVICE_STOP_REASON_MINOR_INSTALLATION
: u32 = 3u32;
852 pub const SERVICE_STOP_REASON_MINOR_MAINTENANCE
: u32 = 2u32;
853 pub const SERVICE_STOP_REASON_MINOR_MAX
: u32 = 25u32;
854 pub const SERVICE_STOP_REASON_MINOR_MAX_CUSTOM
: u32 = 65535u32;
855 pub const SERVICE_STOP_REASON_MINOR_MEMOTYLIMIT
: u32 = 24u32;
856 pub const SERVICE_STOP_REASON_MINOR_MIN
: u32 = 0u32;
857 pub const SERVICE_STOP_REASON_MINOR_MIN_CUSTOM
: u32 = 256u32;
858 pub const SERVICE_STOP_REASON_MINOR_MMC
: u32 = 22u32;
859 pub const SERVICE_STOP_REASON_MINOR_NETWORKCARD
: u32 = 9u32;
860 pub const SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY
: u32 = 17u32;
861 pub const SERVICE_STOP_REASON_MINOR_NONE
: u32 = 23u32;
862 pub const SERVICE_STOP_REASON_MINOR_OTHER
: u32 = 1u32;
863 pub const SERVICE_STOP_REASON_MINOR_OTHERDRIVER
: u32 = 12u32;
864 pub const SERVICE_STOP_REASON_MINOR_RECONFIG
: u32 = 5u32;
865 pub const SERVICE_STOP_REASON_MINOR_SECURITY
: u32 = 16u32;
866 pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX
: u32 = 15u32;
867 pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL
: u32 = 21u32;
868 pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK
: u32 = 13u32;
869 pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL
: u32 = 19u32;
870 pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE
: u32 = 14u32;
871 pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL
: u32 = 20u32;
872 pub const SERVICE_STOP_REASON_MINOR_UNSTABLE
: u32 = 7u32;
873 pub const SERVICE_STOP_REASON_MINOR_UPGRADE
: u32 = 4u32;
874 pub const SERVICE_STOP_REASON_MINOR_WMI
: u32 = 18u32;
876 #[cfg(feature = "Win32_Foundation")]
877 pub struct SERVICE_TABLE_ENTRYA
{
878 pub lpServiceName
: super::super::Foundation
::PSTR
,
879 pub lpServiceProc
: LPSERVICE_MAIN_FUNCTIONA
,
881 #[cfg(feature = "Win32_Foundation")]
882 impl ::core
::marker
::Copy
for SERVICE_TABLE_ENTRYA {}
883 #[cfg(feature = "Win32_Foundation")]
884 impl ::core
::clone
::Clone
for SERVICE_TABLE_ENTRYA
{
885 fn clone(&self) -> Self {
890 #[cfg(feature = "Win32_Foundation")]
891 pub struct SERVICE_TABLE_ENTRYW
{
892 pub lpServiceName
: super::super::Foundation
::PWSTR
,
893 pub lpServiceProc
: LPSERVICE_MAIN_FUNCTIONW
,
895 #[cfg(feature = "Win32_Foundation")]
896 impl ::core
::marker
::Copy
for SERVICE_TABLE_ENTRYW {}
897 #[cfg(feature = "Win32_Foundation")]
898 impl ::core
::clone
::Clone
for SERVICE_TABLE_ENTRYW
{
899 fn clone(&self) -> Self {
904 pub struct SERVICE_TIMECHANGE_INFO
{
908 impl ::core
::marker
::Copy
for SERVICE_TIMECHANGE_INFO {}
909 impl ::core
::clone
::Clone
for SERVICE_TIMECHANGE_INFO
{
910 fn clone(&self) -> Self {
915 pub struct SERVICE_TRIGGER
{
916 pub dwTriggerType
: SERVICE_TRIGGER_TYPE
,
917 pub dwAction
: SERVICE_TRIGGER_ACTION
,
918 pub pTriggerSubtype
: *mut ::windows_sys
::core
::GUID
,
920 pub pDataItems
: *mut SERVICE_TRIGGER_SPECIFIC_DATA_ITEM
,
922 impl ::core
::marker
::Copy
for SERVICE_TRIGGER {}
923 impl ::core
::clone
::Clone
for SERVICE_TRIGGER
{
924 fn clone(&self) -> Self {
928 pub type SERVICE_TRIGGER_ACTION
= u32;
929 pub const SERVICE_TRIGGER_ACTION_SERVICE_START
: SERVICE_TRIGGER_ACTION
= 1u32;
930 pub const SERVICE_TRIGGER_ACTION_SERVICE_STOP
: SERVICE_TRIGGER_ACTION
= 2u32;
932 pub struct SERVICE_TRIGGER_CUSTOM_STATE_ID
{
935 impl ::core
::marker
::Copy
for SERVICE_TRIGGER_CUSTOM_STATE_ID {}
936 impl ::core
::clone
::Clone
for SERVICE_TRIGGER_CUSTOM_STATE_ID
{
937 fn clone(&self) -> Self {
942 pub struct SERVICE_TRIGGER_INFO
{
944 pub pTriggers
: *mut SERVICE_TRIGGER
,
945 pub pReserved
: *mut u8,
947 impl ::core
::marker
::Copy
for SERVICE_TRIGGER_INFO {}
948 impl ::core
::clone
::Clone
for SERVICE_TRIGGER_INFO
{
949 fn clone(&self) -> Self {
954 pub struct SERVICE_TRIGGER_SPECIFIC_DATA_ITEM
{
955 pub dwDataType
: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE
,
959 impl ::core
::marker
::Copy
for SERVICE_TRIGGER_SPECIFIC_DATA_ITEM {}
960 impl ::core
::clone
::Clone
for SERVICE_TRIGGER_SPECIFIC_DATA_ITEM
{
961 fn clone(&self) -> Self {
965 pub type SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE
= u32;
966 pub const SERVICE_TRIGGER_DATA_TYPE_BINARY
: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE
= 1u32;
967 pub const SERVICE_TRIGGER_DATA_TYPE_STRING
: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE
= 2u32;
968 pub const SERVICE_TRIGGER_DATA_TYPE_LEVEL
: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE
= 3u32;
969 pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY
: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE
= 4u32;
970 pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL
: SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_DATA_TYPE
= 5u32;
971 pub type SERVICE_TRIGGER_TYPE
= u32;
972 pub const SERVICE_TRIGGER_TYPE_CUSTOM
: SERVICE_TRIGGER_TYPE
= 20u32;
973 pub const SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL
: SERVICE_TRIGGER_TYPE
= 1u32;
974 pub const SERVICE_TRIGGER_TYPE_DOMAIN_JOIN
: SERVICE_TRIGGER_TYPE
= 3u32;
975 pub const SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT
: SERVICE_TRIGGER_TYPE
= 4u32;
976 pub const SERVICE_TRIGGER_TYPE_GROUP_POLICY
: SERVICE_TRIGGER_TYPE
= 5u32;
977 pub const SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY
: SERVICE_TRIGGER_TYPE
= 2u32;
978 pub const SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT
: SERVICE_TRIGGER_TYPE
= 6u32;
979 pub const SERVICE_TRIGGER_TYPE_AGGREGATE
: u32 = 30u32;
980 pub const SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE
: u32 = 7u32;
981 pub const SERVICE_USER_DEFINED_CONTROL
: u32 = 256u32;
982 pub 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] }
;
984 pub struct _SC_NOTIFICATION_REGISTRATION(pub u8);