]>
Commit | Line | Data |
---|---|---|
5e7ed085 FG |
1 | #[link(name = "windows")] |
2 | extern "system" { | |
04454e1e | 3 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
4 | #[cfg(feature = "Win32_Foundation")] |
5 | pub fn AssignProcessToJobObject(hjob: super::super::Foundation::HANDLE, hprocess: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL; | |
04454e1e | 6 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"] |
5e7ed085 | 7 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] |
04454e1e FG |
8 | pub fn CreateJobObjectA(lpjobattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpname: ::windows_sys::core::PCSTR) -> super::super::Foundation::HANDLE; |
9 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"] | |
5e7ed085 | 10 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] |
04454e1e FG |
11 | pub fn CreateJobObjectW(lpjobattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpname: ::windows_sys::core::PCWSTR) -> super::super::Foundation::HANDLE; |
12 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] | |
5e7ed085 FG |
13 | #[cfg(feature = "Win32_Foundation")] |
14 | pub fn CreateJobSet(numjob: u32, userjobset: *const JOB_SET_ARRAY, flags: u32) -> super::super::Foundation::BOOL; | |
04454e1e | 15 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 16 | pub fn FreeMemoryJobObject(buffer: *const ::core::ffi::c_void); |
04454e1e | 17 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
18 | #[cfg(feature = "Win32_Foundation")] |
19 | pub fn IsProcessInJob(processhandle: super::super::Foundation::HANDLE, jobhandle: super::super::Foundation::HANDLE, result: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL; | |
04454e1e | 20 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 | 21 | #[cfg(feature = "Win32_Foundation")] |
04454e1e FG |
22 | pub fn OpenJobObjectA(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lpname: ::windows_sys::core::PCSTR) -> super::super::Foundation::HANDLE; |
23 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] | |
5e7ed085 | 24 | #[cfg(feature = "Win32_Foundation")] |
04454e1e FG |
25 | pub fn OpenJobObjectW(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lpname: ::windows_sys::core::PCWSTR) -> super::super::Foundation::HANDLE; |
26 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] | |
5e7ed085 FG |
27 | #[cfg(feature = "Win32_Foundation")] |
28 | pub fn QueryInformationJobObject(hjob: super::super::Foundation::HANDLE, jobobjectinformationclass: JOBOBJECTINFOCLASS, lpjobobjectinformation: *mut ::core::ffi::c_void, cbjobobjectinformationlength: u32, lpreturnlength: *mut u32) -> super::super::Foundation::BOOL; | |
04454e1e | 29 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 | 30 | #[cfg(feature = "Win32_Foundation")] |
04454e1e FG |
31 | pub fn QueryIoRateControlInformationJobObject(hjob: super::super::Foundation::HANDLE, volumename: ::windows_sys::core::PCWSTR, infoblocks: *mut *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, infoblockcount: *mut u32) -> u32; |
32 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] | |
5e7ed085 FG |
33 | #[cfg(feature = "Win32_Foundation")] |
34 | pub fn SetInformationJobObject(hjob: super::super::Foundation::HANDLE, jobobjectinformationclass: JOBOBJECTINFOCLASS, lpjobobjectinformation: *const ::core::ffi::c_void, cbjobobjectinformationlength: u32) -> super::super::Foundation::BOOL; | |
04454e1e | 35 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
36 | #[cfg(feature = "Win32_Foundation")] |
37 | pub fn SetIoRateControlInformationJobObject(hjob: super::super::Foundation::HANDLE, ioratecontrolinfo: *const JOBOBJECT_IO_RATE_CONTROL_INFORMATION) -> u32; | |
04454e1e | 38 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
39 | #[cfg(feature = "Win32_Foundation")] |
40 | pub fn TerminateJobObject(hjob: super::super::Foundation::HANDLE, uexitcode: u32) -> super::super::Foundation::BOOL; | |
04454e1e | 41 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
42 | #[cfg(feature = "Win32_Foundation")] |
43 | pub fn UserHandleGrantAccess(huserhandle: super::super::Foundation::HANDLE, hjob: super::super::Foundation::HANDLE, bgrant: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL; | |
44 | } | |
04454e1e | 45 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 46 | pub type JOBOBJECTINFOCLASS = i32; |
04454e1e | 47 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 48 | pub const JobObjectBasicAccountingInformation: JOBOBJECTINFOCLASS = 1i32; |
04454e1e | 49 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 50 | pub const JobObjectBasicLimitInformation: JOBOBJECTINFOCLASS = 2i32; |
04454e1e | 51 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 52 | pub const JobObjectBasicProcessIdList: JOBOBJECTINFOCLASS = 3i32; |
04454e1e | 53 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 54 | pub const JobObjectBasicUIRestrictions: JOBOBJECTINFOCLASS = 4i32; |
04454e1e | 55 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 56 | pub const JobObjectSecurityLimitInformation: JOBOBJECTINFOCLASS = 5i32; |
04454e1e | 57 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 58 | pub const JobObjectEndOfJobTimeInformation: JOBOBJECTINFOCLASS = 6i32; |
04454e1e | 59 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 60 | pub const JobObjectAssociateCompletionPortInformation: JOBOBJECTINFOCLASS = 7i32; |
04454e1e | 61 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 62 | pub const JobObjectBasicAndIoAccountingInformation: JOBOBJECTINFOCLASS = 8i32; |
04454e1e | 63 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 64 | pub const JobObjectExtendedLimitInformation: JOBOBJECTINFOCLASS = 9i32; |
04454e1e | 65 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 66 | pub const JobObjectJobSetInformation: JOBOBJECTINFOCLASS = 10i32; |
04454e1e | 67 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 68 | pub const JobObjectGroupInformation: JOBOBJECTINFOCLASS = 11i32; |
04454e1e | 69 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 70 | pub const JobObjectNotificationLimitInformation: JOBOBJECTINFOCLASS = 12i32; |
04454e1e | 71 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 72 | pub const JobObjectLimitViolationInformation: JOBOBJECTINFOCLASS = 13i32; |
04454e1e | 73 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 74 | pub const JobObjectGroupInformationEx: JOBOBJECTINFOCLASS = 14i32; |
04454e1e | 75 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 76 | pub const JobObjectCpuRateControlInformation: JOBOBJECTINFOCLASS = 15i32; |
04454e1e | 77 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 78 | pub const JobObjectCompletionFilter: JOBOBJECTINFOCLASS = 16i32; |
04454e1e | 79 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 80 | pub const JobObjectCompletionCounter: JOBOBJECTINFOCLASS = 17i32; |
04454e1e | 81 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 82 | pub const JobObjectReserved1Information: JOBOBJECTINFOCLASS = 18i32; |
04454e1e | 83 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 84 | pub const JobObjectReserved2Information: JOBOBJECTINFOCLASS = 19i32; |
04454e1e | 85 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 86 | pub const JobObjectReserved3Information: JOBOBJECTINFOCLASS = 20i32; |
04454e1e | 87 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 88 | pub const JobObjectReserved4Information: JOBOBJECTINFOCLASS = 21i32; |
04454e1e | 89 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 90 | pub const JobObjectReserved5Information: JOBOBJECTINFOCLASS = 22i32; |
04454e1e | 91 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 92 | pub const JobObjectReserved6Information: JOBOBJECTINFOCLASS = 23i32; |
04454e1e | 93 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 94 | pub const JobObjectReserved7Information: JOBOBJECTINFOCLASS = 24i32; |
04454e1e | 95 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 96 | pub const JobObjectReserved8Information: JOBOBJECTINFOCLASS = 25i32; |
04454e1e | 97 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 98 | pub const JobObjectReserved9Information: JOBOBJECTINFOCLASS = 26i32; |
04454e1e | 99 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 100 | pub const JobObjectReserved10Information: JOBOBJECTINFOCLASS = 27i32; |
04454e1e | 101 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 102 | pub const JobObjectReserved11Information: JOBOBJECTINFOCLASS = 28i32; |
04454e1e | 103 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 104 | pub const JobObjectReserved12Information: JOBOBJECTINFOCLASS = 29i32; |
04454e1e | 105 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 106 | pub const JobObjectReserved13Information: JOBOBJECTINFOCLASS = 30i32; |
04454e1e | 107 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 108 | pub const JobObjectReserved14Information: JOBOBJECTINFOCLASS = 31i32; |
04454e1e | 109 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 110 | pub const JobObjectNetRateControlInformation: JOBOBJECTINFOCLASS = 32i32; |
04454e1e | 111 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 112 | pub const JobObjectNotificationLimitInformation2: JOBOBJECTINFOCLASS = 33i32; |
04454e1e | 113 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 114 | pub const JobObjectLimitViolationInformation2: JOBOBJECTINFOCLASS = 34i32; |
04454e1e | 115 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 116 | pub const JobObjectCreateSilo: JOBOBJECTINFOCLASS = 35i32; |
04454e1e | 117 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 118 | pub const JobObjectSiloBasicInformation: JOBOBJECTINFOCLASS = 36i32; |
04454e1e | 119 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 120 | pub const JobObjectReserved15Information: JOBOBJECTINFOCLASS = 37i32; |
04454e1e | 121 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 122 | pub const JobObjectReserved16Information: JOBOBJECTINFOCLASS = 38i32; |
04454e1e | 123 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 124 | pub const JobObjectReserved17Information: JOBOBJECTINFOCLASS = 39i32; |
04454e1e | 125 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 126 | pub const JobObjectReserved18Information: JOBOBJECTINFOCLASS = 40i32; |
04454e1e | 127 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 128 | pub const JobObjectReserved19Information: JOBOBJECTINFOCLASS = 41i32; |
04454e1e | 129 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 130 | pub const JobObjectReserved20Information: JOBOBJECTINFOCLASS = 42i32; |
04454e1e | 131 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 132 | pub const JobObjectReserved21Information: JOBOBJECTINFOCLASS = 43i32; |
04454e1e | 133 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 134 | pub const JobObjectReserved22Information: JOBOBJECTINFOCLASS = 44i32; |
04454e1e | 135 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 136 | pub const JobObjectReserved23Information: JOBOBJECTINFOCLASS = 45i32; |
04454e1e | 137 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 138 | pub const JobObjectReserved24Information: JOBOBJECTINFOCLASS = 46i32; |
04454e1e | 139 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 140 | pub const JobObjectReserved25Information: JOBOBJECTINFOCLASS = 47i32; |
04454e1e | 141 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
142 | pub const MaxJobObjectInfoClass: JOBOBJECTINFOCLASS = 48i32; |
143 | #[repr(C)] | |
04454e1e | 144 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
145 | #[cfg(feature = "Win32_Foundation")] |
146 | pub struct JOBOBJECT_ASSOCIATE_COMPLETION_PORT { | |
147 | pub CompletionKey: *mut ::core::ffi::c_void, | |
148 | pub CompletionPort: super::super::Foundation::HANDLE, | |
149 | } | |
150 | #[cfg(feature = "Win32_Foundation")] | |
151 | impl ::core::marker::Copy for JOBOBJECT_ASSOCIATE_COMPLETION_PORT {} | |
152 | #[cfg(feature = "Win32_Foundation")] | |
153 | impl ::core::clone::Clone for JOBOBJECT_ASSOCIATE_COMPLETION_PORT { | |
154 | fn clone(&self) -> Self { | |
155 | *self | |
156 | } | |
157 | } | |
158 | #[repr(C)] | |
04454e1e | 159 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
160 | pub struct JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { |
161 | pub TotalUserTime: i64, | |
162 | pub TotalKernelTime: i64, | |
163 | pub ThisPeriodTotalUserTime: i64, | |
164 | pub ThisPeriodTotalKernelTime: i64, | |
165 | pub TotalPageFaultCount: u32, | |
166 | pub TotalProcesses: u32, | |
167 | pub ActiveProcesses: u32, | |
168 | pub TotalTerminatedProcesses: u32, | |
169 | } | |
170 | impl ::core::marker::Copy for JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {} | |
171 | impl ::core::clone::Clone for JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { | |
172 | fn clone(&self) -> Self { | |
173 | *self | |
174 | } | |
175 | } | |
176 | #[repr(C)] | |
04454e1e | 177 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_System_Threading\"`*"] |
5e7ed085 FG |
178 | #[cfg(feature = "Win32_System_Threading")] |
179 | pub struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { | |
180 | pub BasicInfo: JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, | |
181 | pub IoInfo: super::Threading::IO_COUNTERS, | |
182 | } | |
183 | #[cfg(feature = "Win32_System_Threading")] | |
184 | impl ::core::marker::Copy for JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {} | |
185 | #[cfg(feature = "Win32_System_Threading")] | |
186 | impl ::core::clone::Clone for JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { | |
187 | fn clone(&self) -> Self { | |
188 | *self | |
189 | } | |
190 | } | |
191 | #[repr(C)] | |
04454e1e | 192 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
193 | pub struct JOBOBJECT_BASIC_LIMIT_INFORMATION { |
194 | pub PerProcessUserTimeLimit: i64, | |
195 | pub PerJobUserTimeLimit: i64, | |
196 | pub LimitFlags: JOB_OBJECT_LIMIT, | |
197 | pub MinimumWorkingSetSize: usize, | |
198 | pub MaximumWorkingSetSize: usize, | |
199 | pub ActiveProcessLimit: u32, | |
200 | pub Affinity: usize, | |
201 | pub PriorityClass: u32, | |
202 | pub SchedulingClass: u32, | |
203 | } | |
204 | impl ::core::marker::Copy for JOBOBJECT_BASIC_LIMIT_INFORMATION {} | |
205 | impl ::core::clone::Clone for JOBOBJECT_BASIC_LIMIT_INFORMATION { | |
206 | fn clone(&self) -> Self { | |
207 | *self | |
208 | } | |
209 | } | |
210 | #[repr(C)] | |
04454e1e | 211 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
212 | pub struct JOBOBJECT_BASIC_PROCESS_ID_LIST { |
213 | pub NumberOfAssignedProcesses: u32, | |
214 | pub NumberOfProcessIdsInList: u32, | |
215 | pub ProcessIdList: [usize; 1], | |
216 | } | |
217 | impl ::core::marker::Copy for JOBOBJECT_BASIC_PROCESS_ID_LIST {} | |
218 | impl ::core::clone::Clone for JOBOBJECT_BASIC_PROCESS_ID_LIST { | |
219 | fn clone(&self) -> Self { | |
220 | *self | |
221 | } | |
222 | } | |
223 | #[repr(C)] | |
04454e1e | 224 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
225 | pub struct JOBOBJECT_BASIC_UI_RESTRICTIONS { |
226 | pub UIRestrictionsClass: JOB_OBJECT_UILIMIT, | |
227 | } | |
228 | impl ::core::marker::Copy for JOBOBJECT_BASIC_UI_RESTRICTIONS {} | |
229 | impl ::core::clone::Clone for JOBOBJECT_BASIC_UI_RESTRICTIONS { | |
230 | fn clone(&self) -> Self { | |
231 | *self | |
232 | } | |
233 | } | |
234 | #[repr(C)] | |
04454e1e | 235 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
236 | pub struct JOBOBJECT_CPU_RATE_CONTROL_INFORMATION { |
237 | pub ControlFlags: JOB_OBJECT_CPU_RATE_CONTROL, | |
238 | pub Anonymous: JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0, | |
239 | } | |
240 | impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {} | |
241 | impl ::core::clone::Clone for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION { | |
242 | fn clone(&self) -> Self { | |
243 | *self | |
244 | } | |
245 | } | |
246 | #[repr(C)] | |
04454e1e | 247 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
248 | pub union JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0 { |
249 | pub CpuRate: u32, | |
250 | pub Weight: u32, | |
251 | pub Anonymous: JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0, | |
252 | } | |
253 | impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0 {} | |
254 | impl ::core::clone::Clone for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0 { | |
255 | fn clone(&self) -> Self { | |
256 | *self | |
257 | } | |
258 | } | |
259 | #[repr(C)] | |
04454e1e | 260 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
261 | pub struct JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0 { |
262 | pub MinRate: u16, | |
263 | pub MaxRate: u16, | |
264 | } | |
265 | impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0 {} | |
266 | impl ::core::clone::Clone for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0 { | |
267 | fn clone(&self) -> Self { | |
268 | *self | |
269 | } | |
270 | } | |
271 | #[repr(C)] | |
04454e1e | 272 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
273 | pub struct JOBOBJECT_END_OF_JOB_TIME_INFORMATION { |
274 | pub EndOfJobTimeAction: JOB_OBJECT_TERMINATE_AT_END_ACTION, | |
275 | } | |
276 | impl ::core::marker::Copy for JOBOBJECT_END_OF_JOB_TIME_INFORMATION {} | |
277 | impl ::core::clone::Clone for JOBOBJECT_END_OF_JOB_TIME_INFORMATION { | |
278 | fn clone(&self) -> Self { | |
279 | *self | |
280 | } | |
281 | } | |
282 | #[repr(C)] | |
04454e1e | 283 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_System_Threading\"`*"] |
5e7ed085 FG |
284 | #[cfg(feature = "Win32_System_Threading")] |
285 | pub struct JOBOBJECT_EXTENDED_LIMIT_INFORMATION { | |
286 | pub BasicLimitInformation: JOBOBJECT_BASIC_LIMIT_INFORMATION, | |
287 | pub IoInfo: super::Threading::IO_COUNTERS, | |
288 | pub ProcessMemoryLimit: usize, | |
289 | pub JobMemoryLimit: usize, | |
290 | pub PeakProcessMemoryUsed: usize, | |
291 | pub PeakJobMemoryUsed: usize, | |
292 | } | |
293 | #[cfg(feature = "Win32_System_Threading")] | |
294 | impl ::core::marker::Copy for JOBOBJECT_EXTENDED_LIMIT_INFORMATION {} | |
295 | #[cfg(feature = "Win32_System_Threading")] | |
296 | impl ::core::clone::Clone for JOBOBJECT_EXTENDED_LIMIT_INFORMATION { | |
297 | fn clone(&self) -> Self { | |
298 | *self | |
299 | } | |
300 | } | |
04454e1e | 301 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 302 | pub type JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = i32; |
04454e1e | 303 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 304 | pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE: JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 1i32; |
04454e1e | 305 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 306 | pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE: JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 2i32; |
04454e1e | 307 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
308 | pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS: JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 3i32; |
309 | #[repr(C)] | |
04454e1e | 310 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
311 | pub struct JOBOBJECT_IO_ATTRIBUTION_INFORMATION { |
312 | pub ControlFlags: u32, | |
313 | pub ReadStats: JOBOBJECT_IO_ATTRIBUTION_STATS, | |
314 | pub WriteStats: JOBOBJECT_IO_ATTRIBUTION_STATS, | |
315 | } | |
316 | impl ::core::marker::Copy for JOBOBJECT_IO_ATTRIBUTION_INFORMATION {} | |
317 | impl ::core::clone::Clone for JOBOBJECT_IO_ATTRIBUTION_INFORMATION { | |
318 | fn clone(&self) -> Self { | |
319 | *self | |
320 | } | |
321 | } | |
322 | #[repr(C)] | |
04454e1e | 323 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
324 | pub struct JOBOBJECT_IO_ATTRIBUTION_STATS { |
325 | pub IoCount: usize, | |
326 | pub TotalNonOverlappedQueueTime: u64, | |
327 | pub TotalNonOverlappedServiceTime: u64, | |
328 | pub TotalSize: u64, | |
329 | } | |
330 | impl ::core::marker::Copy for JOBOBJECT_IO_ATTRIBUTION_STATS {} | |
331 | impl ::core::clone::Clone for JOBOBJECT_IO_ATTRIBUTION_STATS { | |
332 | fn clone(&self) -> Self { | |
333 | *self | |
334 | } | |
335 | } | |
336 | #[repr(C)] | |
04454e1e | 337 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
338 | pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION { |
339 | pub MaxIops: i64, | |
340 | pub MaxBandwidth: i64, | |
341 | pub ReservationIops: i64, | |
04454e1e | 342 | pub VolumeName: ::windows_sys::core::PCWSTR, |
5e7ed085 FG |
343 | pub BaseIoSize: u32, |
344 | pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
345 | } | |
5e7ed085 | 346 | impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION {} |
5e7ed085 FG |
347 | impl ::core::clone::Clone for JOBOBJECT_IO_RATE_CONTROL_INFORMATION { |
348 | fn clone(&self) -> Self { | |
349 | *self | |
350 | } | |
351 | } | |
352 | #[repr(C)] | |
04454e1e | 353 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
354 | pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE { |
355 | pub MaxIops: i64, | |
356 | pub MaxBandwidth: i64, | |
357 | pub ReservationIops: i64, | |
04454e1e | 358 | pub VolumeName: ::windows_sys::core::PWSTR, |
5e7ed085 FG |
359 | pub BaseIoSize: u32, |
360 | pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
361 | pub VolumeNameLength: u16, | |
362 | } | |
5e7ed085 | 363 | impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE {} |
5e7ed085 FG |
364 | impl ::core::clone::Clone for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE { |
365 | fn clone(&self) -> Self { | |
366 | *self | |
367 | } | |
368 | } | |
369 | #[repr(C)] | |
04454e1e | 370 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
371 | pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 { |
372 | pub MaxIops: i64, | |
373 | pub MaxBandwidth: i64, | |
374 | pub ReservationIops: i64, | |
04454e1e | 375 | pub VolumeName: ::windows_sys::core::PWSTR, |
5e7ed085 FG |
376 | pub BaseIoSize: u32, |
377 | pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
378 | pub VolumeNameLength: u16, | |
379 | pub CriticalReservationIops: i64, | |
380 | pub ReservationBandwidth: i64, | |
381 | pub CriticalReservationBandwidth: i64, | |
382 | pub MaxTimePercent: i64, | |
383 | pub ReservationTimePercent: i64, | |
384 | pub CriticalReservationTimePercent: i64, | |
385 | } | |
5e7ed085 | 386 | impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 {} |
5e7ed085 FG |
387 | impl ::core::clone::Clone for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 { |
388 | fn clone(&self) -> Self { | |
389 | *self | |
390 | } | |
391 | } | |
392 | #[repr(C)] | |
04454e1e | 393 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
394 | pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 { |
395 | pub MaxIops: i64, | |
396 | pub MaxBandwidth: i64, | |
397 | pub ReservationIops: i64, | |
04454e1e | 398 | pub VolumeName: ::windows_sys::core::PWSTR, |
5e7ed085 FG |
399 | pub BaseIoSize: u32, |
400 | pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
401 | pub VolumeNameLength: u16, | |
402 | pub CriticalReservationIops: i64, | |
403 | pub ReservationBandwidth: i64, | |
404 | pub CriticalReservationBandwidth: i64, | |
405 | pub MaxTimePercent: i64, | |
406 | pub ReservationTimePercent: i64, | |
407 | pub CriticalReservationTimePercent: i64, | |
408 | pub SoftMaxIops: i64, | |
409 | pub SoftMaxBandwidth: i64, | |
410 | pub SoftMaxTimePercent: i64, | |
411 | pub LimitExcessNotifyIops: i64, | |
412 | pub LimitExcessNotifyBandwidth: i64, | |
413 | pub LimitExcessNotifyTimePercent: i64, | |
414 | } | |
5e7ed085 | 415 | impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 {} |
5e7ed085 FG |
416 | impl ::core::clone::Clone for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 { |
417 | fn clone(&self) -> Self { | |
418 | *self | |
419 | } | |
420 | } | |
421 | #[repr(C)] | |
04454e1e | 422 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
423 | pub struct JOBOBJECT_JOBSET_INFORMATION { |
424 | pub MemberLevel: u32, | |
425 | } | |
426 | impl ::core::marker::Copy for JOBOBJECT_JOBSET_INFORMATION {} | |
427 | impl ::core::clone::Clone for JOBOBJECT_JOBSET_INFORMATION { | |
428 | fn clone(&self) -> Self { | |
429 | *self | |
430 | } | |
431 | } | |
432 | #[repr(C)] | |
04454e1e | 433 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
434 | pub struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION { |
435 | pub LimitFlags: JOB_OBJECT_LIMIT, | |
436 | pub ViolationLimitFlags: JOB_OBJECT_LIMIT, | |
437 | pub IoReadBytes: u64, | |
438 | pub IoReadBytesLimit: u64, | |
439 | pub IoWriteBytes: u64, | |
440 | pub IoWriteBytesLimit: u64, | |
441 | pub PerJobUserTime: i64, | |
442 | pub PerJobUserTimeLimit: i64, | |
443 | pub JobMemory: u64, | |
444 | pub JobMemoryLimit: u64, | |
445 | pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
446 | pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
447 | } | |
448 | impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION {} | |
449 | impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION { | |
450 | fn clone(&self) -> Self { | |
451 | *self | |
452 | } | |
453 | } | |
454 | #[repr(C)] | |
04454e1e | 455 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
456 | pub struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 { |
457 | pub LimitFlags: JOB_OBJECT_LIMIT, | |
458 | pub ViolationLimitFlags: JOB_OBJECT_LIMIT, | |
459 | pub IoReadBytes: u64, | |
460 | pub IoReadBytesLimit: u64, | |
461 | pub IoWriteBytes: u64, | |
462 | pub IoWriteBytesLimit: u64, | |
463 | pub PerJobUserTime: i64, | |
464 | pub PerJobUserTimeLimit: i64, | |
465 | pub JobMemory: u64, | |
466 | pub Anonymous1: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0, | |
467 | pub Anonymous2: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1, | |
468 | pub Anonymous3: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2, | |
469 | pub JobLowMemoryLimit: u64, | |
470 | pub IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
471 | pub IoRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
472 | pub NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
473 | pub NetRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
474 | } | |
475 | impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {} | |
476 | impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 { | |
477 | fn clone(&self) -> Self { | |
478 | *self | |
479 | } | |
480 | } | |
481 | #[repr(C)] | |
04454e1e | 482 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
483 | pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0 { |
484 | pub JobHighMemoryLimit: u64, | |
485 | pub JobMemoryLimit: u64, | |
486 | } | |
487 | impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0 {} | |
488 | impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0 { | |
489 | fn clone(&self) -> Self { | |
490 | *self | |
491 | } | |
492 | } | |
493 | #[repr(C)] | |
04454e1e | 494 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
495 | pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1 { |
496 | pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
497 | pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
498 | } | |
499 | impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1 {} | |
500 | impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1 { | |
501 | fn clone(&self) -> Self { | |
502 | *self | |
503 | } | |
504 | } | |
505 | #[repr(C)] | |
04454e1e | 506 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
507 | pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2 { |
508 | pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
509 | pub CpuRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
510 | } | |
511 | impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2 {} | |
512 | impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2 { | |
513 | fn clone(&self) -> Self { | |
514 | *self | |
515 | } | |
516 | } | |
517 | #[repr(C)] | |
04454e1e | 518 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
519 | pub struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION { |
520 | pub MaxBandwidth: u64, | |
521 | pub ControlFlags: JOB_OBJECT_NET_RATE_CONTROL_FLAGS, | |
522 | pub DscpTag: u8, | |
523 | } | |
524 | impl ::core::marker::Copy for JOBOBJECT_NET_RATE_CONTROL_INFORMATION {} | |
525 | impl ::core::clone::Clone for JOBOBJECT_NET_RATE_CONTROL_INFORMATION { | |
526 | fn clone(&self) -> Self { | |
527 | *self | |
528 | } | |
529 | } | |
530 | #[repr(C)] | |
04454e1e | 531 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
532 | pub struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION { |
533 | pub IoReadBytesLimit: u64, | |
534 | pub IoWriteBytesLimit: u64, | |
535 | pub PerJobUserTimeLimit: i64, | |
536 | pub JobMemoryLimit: u64, | |
537 | pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
538 | pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
539 | pub LimitFlags: JOB_OBJECT_LIMIT, | |
540 | } | |
541 | impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION {} | |
542 | impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION { | |
543 | fn clone(&self) -> Self { | |
544 | *self | |
545 | } | |
546 | } | |
547 | #[repr(C)] | |
04454e1e | 548 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
549 | pub struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 { |
550 | pub IoReadBytesLimit: u64, | |
551 | pub IoWriteBytesLimit: u64, | |
552 | pub PerJobUserTimeLimit: i64, | |
553 | pub Anonymous1: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0, | |
554 | pub Anonymous2: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1, | |
555 | pub Anonymous3: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2, | |
556 | pub LimitFlags: JOB_OBJECT_LIMIT, | |
557 | pub IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
558 | pub JobLowMemoryLimit: u64, | |
559 | pub IoRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
560 | pub NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
561 | pub NetRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
562 | } | |
563 | impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 {} | |
564 | impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 { | |
565 | fn clone(&self) -> Self { | |
566 | *self | |
567 | } | |
568 | } | |
569 | #[repr(C)] | |
04454e1e | 570 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
571 | pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0 { |
572 | pub JobHighMemoryLimit: u64, | |
573 | pub JobMemoryLimit: u64, | |
574 | } | |
575 | impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0 {} | |
576 | impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0 { | |
577 | fn clone(&self) -> Self { | |
578 | *self | |
579 | } | |
580 | } | |
581 | #[repr(C)] | |
04454e1e | 582 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
583 | pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1 { |
584 | pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
585 | pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
586 | } | |
587 | impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1 {} | |
588 | impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1 { | |
589 | fn clone(&self) -> Self { | |
590 | *self | |
591 | } | |
592 | } | |
593 | #[repr(C)] | |
04454e1e | 594 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
595 | pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2 { |
596 | pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
597 | pub CpuRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
598 | } | |
599 | impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2 {} | |
600 | impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2 { | |
601 | fn clone(&self) -> Self { | |
602 | *self | |
603 | } | |
604 | } | |
04454e1e | 605 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 606 | pub type JOBOBJECT_RATE_CONTROL_TOLERANCE = i32; |
04454e1e | 607 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 608 | pub const ToleranceLow: JOBOBJECT_RATE_CONTROL_TOLERANCE = 1i32; |
04454e1e | 609 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 610 | pub const ToleranceMedium: JOBOBJECT_RATE_CONTROL_TOLERANCE = 2i32; |
04454e1e | 611 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 612 | pub const ToleranceHigh: JOBOBJECT_RATE_CONTROL_TOLERANCE = 3i32; |
04454e1e | 613 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 614 | pub type JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = i32; |
04454e1e | 615 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 616 | pub const ToleranceIntervalShort: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 1i32; |
04454e1e | 617 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 618 | pub const ToleranceIntervalMedium: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 2i32; |
04454e1e | 619 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
620 | pub const ToleranceIntervalLong: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 3i32; |
621 | #[repr(C)] | |
04454e1e | 622 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"] |
5e7ed085 FG |
623 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] |
624 | pub struct JOBOBJECT_SECURITY_LIMIT_INFORMATION { | |
625 | pub SecurityLimitFlags: JOB_OBJECT_SECURITY, | |
626 | pub JobToken: super::super::Foundation::HANDLE, | |
627 | pub SidsToDisable: *mut super::super::Security::TOKEN_GROUPS, | |
628 | pub PrivilegesToDelete: *mut super::super::Security::TOKEN_PRIVILEGES, | |
629 | pub RestrictedSids: *mut super::super::Security::TOKEN_GROUPS, | |
630 | } | |
631 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] | |
632 | impl ::core::marker::Copy for JOBOBJECT_SECURITY_LIMIT_INFORMATION {} | |
633 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] | |
634 | impl ::core::clone::Clone for JOBOBJECT_SECURITY_LIMIT_INFORMATION { | |
635 | fn clone(&self) -> Self { | |
636 | *self | |
637 | } | |
638 | } | |
04454e1e | 639 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 640 | pub type JOB_OBJECT_CPU_RATE_CONTROL = u32; |
04454e1e | 641 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 642 | pub const JOB_OBJECT_CPU_RATE_CONTROL_ENABLE: JOB_OBJECT_CPU_RATE_CONTROL = 1u32; |
04454e1e | 643 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 644 | pub const JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED: JOB_OBJECT_CPU_RATE_CONTROL = 2u32; |
04454e1e | 645 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 646 | pub const JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP: JOB_OBJECT_CPU_RATE_CONTROL = 4u32; |
04454e1e | 647 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 648 | pub const JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY: JOB_OBJECT_CPU_RATE_CONTROL = 8u32; |
04454e1e | 649 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 650 | pub const JOB_OBJECT__CPU_RATE_CONTROL_MIN_MAX_RATE: JOB_OBJECT_CPU_RATE_CONTROL = 16u32; |
04454e1e | 651 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 652 | pub type JOB_OBJECT_IO_RATE_CONTROL_FLAGS = i32; |
04454e1e | 653 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 654 | pub const JOB_OBJECT_IO_RATE_CONTROL_ENABLE: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 1i32; |
04454e1e | 655 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 656 | pub const JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 2i32; |
04454e1e | 657 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 658 | pub const JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 4i32; |
04454e1e | 659 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 660 | pub const JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 8i32; |
04454e1e | 661 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 662 | pub const JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 15i32; |
04454e1e | 663 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 664 | pub type JOB_OBJECT_LIMIT = u32; |
04454e1e | 665 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 666 | pub const JOB_OBJECT_LIMIT_WORKINGSET: JOB_OBJECT_LIMIT = 1u32; |
04454e1e | 667 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 668 | pub const JOB_OBJECT_LIMIT_PROCESS_TIME: JOB_OBJECT_LIMIT = 2u32; |
04454e1e | 669 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 670 | pub const JOB_OBJECT_LIMIT_JOB_TIME: JOB_OBJECT_LIMIT = 4u32; |
04454e1e | 671 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 672 | pub const JOB_OBJECT_LIMIT_ACTIVE_PROCESS: JOB_OBJECT_LIMIT = 8u32; |
04454e1e | 673 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 674 | pub const JOB_OBJECT_LIMIT_AFFINITY: JOB_OBJECT_LIMIT = 16u32; |
04454e1e | 675 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 676 | pub const JOB_OBJECT_LIMIT_PRIORITY_CLASS: JOB_OBJECT_LIMIT = 32u32; |
04454e1e | 677 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 678 | pub const JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: JOB_OBJECT_LIMIT = 64u32; |
04454e1e | 679 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 680 | pub const JOB_OBJECT_LIMIT_SCHEDULING_CLASS: JOB_OBJECT_LIMIT = 128u32; |
04454e1e | 681 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 682 | pub const JOB_OBJECT_LIMIT_PROCESS_MEMORY: JOB_OBJECT_LIMIT = 256u32; |
04454e1e | 683 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 684 | pub const JOB_OBJECT_LIMIT_JOB_MEMORY: JOB_OBJECT_LIMIT = 512u32; |
04454e1e | 685 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 686 | pub const JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH: JOB_OBJECT_LIMIT = 512u32; |
04454e1e | 687 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 688 | pub const JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: JOB_OBJECT_LIMIT = 1024u32; |
04454e1e | 689 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 690 | pub const JOB_OBJECT_LIMIT_BREAKAWAY_OK: JOB_OBJECT_LIMIT = 2048u32; |
04454e1e | 691 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 692 | pub const JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: JOB_OBJECT_LIMIT = 4096u32; |
04454e1e | 693 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 694 | pub const JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: JOB_OBJECT_LIMIT = 8192u32; |
04454e1e | 695 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 696 | pub const JOB_OBJECT_LIMIT_SUBSET_AFFINITY: JOB_OBJECT_LIMIT = 16384u32; |
04454e1e | 697 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 698 | pub const JOB_OBJECT_LIMIT_JOB_MEMORY_LOW: JOB_OBJECT_LIMIT = 32768u32; |
04454e1e | 699 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 700 | pub const JOB_OBJECT_LIMIT_JOB_READ_BYTES: JOB_OBJECT_LIMIT = 65536u32; |
04454e1e | 701 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 702 | pub const JOB_OBJECT_LIMIT_JOB_WRITE_BYTES: JOB_OBJECT_LIMIT = 131072u32; |
04454e1e | 703 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 704 | pub const JOB_OBJECT_LIMIT_RATE_CONTROL: JOB_OBJECT_LIMIT = 262144u32; |
04454e1e | 705 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 706 | pub const JOB_OBJECT_LIMIT_CPU_RATE_CONTROL: JOB_OBJECT_LIMIT = 262144u32; |
04454e1e | 707 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 708 | pub const JOB_OBJECT_LIMIT_IO_RATE_CONTROL: JOB_OBJECT_LIMIT = 524288u32; |
04454e1e | 709 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 710 | pub const JOB_OBJECT_LIMIT_NET_RATE_CONTROL: JOB_OBJECT_LIMIT = 1048576u32; |
04454e1e | 711 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 712 | pub const JOB_OBJECT_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 524287u32; |
04454e1e | 713 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 714 | pub const JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 255u32; |
04454e1e | 715 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 716 | pub const JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 32767u32; |
04454e1e | 717 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 718 | pub const JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 2064900u32; |
04454e1e | 719 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 720 | pub type JOB_OBJECT_NET_RATE_CONTROL_FLAGS = i32; |
04454e1e | 721 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 722 | pub const JOB_OBJECT_NET_RATE_CONTROL_ENABLE: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 1i32; |
04454e1e | 723 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 724 | pub const JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 2i32; |
04454e1e | 725 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 726 | pub const JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 4i32; |
04454e1e | 727 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 728 | pub const JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 7i32; |
04454e1e | 729 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 730 | pub type JOB_OBJECT_SECURITY = u32; |
04454e1e | 731 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 732 | pub const JOB_OBJECT_SECURITY_NO_ADMIN: JOB_OBJECT_SECURITY = 1u32; |
04454e1e | 733 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 734 | pub const JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: JOB_OBJECT_SECURITY = 2u32; |
04454e1e | 735 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 736 | pub const JOB_OBJECT_SECURITY_ONLY_TOKEN: JOB_OBJECT_SECURITY = 4u32; |
04454e1e | 737 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 738 | pub const JOB_OBJECT_SECURITY_FILTER_TOKENS: JOB_OBJECT_SECURITY = 8u32; |
04454e1e | 739 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 740 | pub const JOB_OBJECT_SECURITY_VALID_FLAGS: JOB_OBJECT_SECURITY = 15u32; |
04454e1e | 741 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 742 | pub type JOB_OBJECT_TERMINATE_AT_END_ACTION = u32; |
04454e1e | 743 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 744 | pub const JOB_OBJECT_TERMINATE_AT_END_OF_JOB: JOB_OBJECT_TERMINATE_AT_END_ACTION = 0u32; |
04454e1e | 745 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 746 | pub const JOB_OBJECT_POST_AT_END_OF_JOB: JOB_OBJECT_TERMINATE_AT_END_ACTION = 1u32; |
04454e1e | 747 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 748 | pub type JOB_OBJECT_UILIMIT = u32; |
04454e1e | 749 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 750 | pub const JOB_OBJECT_UILIMIT_NONE: JOB_OBJECT_UILIMIT = 0u32; |
04454e1e | 751 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 752 | pub const JOB_OBJECT_UILIMIT_HANDLES: JOB_OBJECT_UILIMIT = 1u32; |
04454e1e | 753 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 754 | pub const JOB_OBJECT_UILIMIT_READCLIPBOARD: JOB_OBJECT_UILIMIT = 2u32; |
04454e1e | 755 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 756 | pub const JOB_OBJECT_UILIMIT_WRITECLIPBOARD: JOB_OBJECT_UILIMIT = 4u32; |
04454e1e | 757 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 758 | pub const JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: JOB_OBJECT_UILIMIT = 8u32; |
04454e1e | 759 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 760 | pub const JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: JOB_OBJECT_UILIMIT = 16u32; |
04454e1e | 761 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 762 | pub const JOB_OBJECT_UILIMIT_GLOBALATOMS: JOB_OBJECT_UILIMIT = 32u32; |
04454e1e | 763 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 | 764 | pub const JOB_OBJECT_UILIMIT_DESKTOP: JOB_OBJECT_UILIMIT = 64u32; |
04454e1e | 765 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"] |
5e7ed085 FG |
766 | pub const JOB_OBJECT_UILIMIT_EXITWINDOWS: JOB_OBJECT_UILIMIT = 128u32; |
767 | #[repr(C)] | |
04454e1e | 768 | #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
769 | #[cfg(feature = "Win32_Foundation")] |
770 | pub struct JOB_SET_ARRAY { | |
771 | pub JobHandle: super::super::Foundation::HANDLE, | |
772 | pub MemberLevel: u32, | |
773 | pub Flags: u32, | |
774 | } | |
775 | #[cfg(feature = "Win32_Foundation")] | |
776 | impl ::core::marker::Copy for JOB_SET_ARRAY {} | |
777 | #[cfg(feature = "Win32_Foundation")] | |
778 | impl ::core::clone::Clone for JOB_SET_ARRAY { | |
779 | fn clone(&self) -> Self { | |
780 | *self | |
781 | } | |
782 | } |