]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys/src/Windows/Win32/System/JobObjects/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / System / JobObjects / mod.rs
CommitLineData
5e7ed085
FG
1#[link(name = "windows")]
2extern "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 46pub type JOBOBJECTINFOCLASS = i32;
04454e1e 47#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 48pub const JobObjectBasicAccountingInformation: JOBOBJECTINFOCLASS = 1i32;
04454e1e 49#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 50pub const JobObjectBasicLimitInformation: JOBOBJECTINFOCLASS = 2i32;
04454e1e 51#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 52pub const JobObjectBasicProcessIdList: JOBOBJECTINFOCLASS = 3i32;
04454e1e 53#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 54pub const JobObjectBasicUIRestrictions: JOBOBJECTINFOCLASS = 4i32;
04454e1e 55#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 56pub const JobObjectSecurityLimitInformation: JOBOBJECTINFOCLASS = 5i32;
04454e1e 57#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 58pub const JobObjectEndOfJobTimeInformation: JOBOBJECTINFOCLASS = 6i32;
04454e1e 59#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 60pub const JobObjectAssociateCompletionPortInformation: JOBOBJECTINFOCLASS = 7i32;
04454e1e 61#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 62pub const JobObjectBasicAndIoAccountingInformation: JOBOBJECTINFOCLASS = 8i32;
04454e1e 63#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 64pub const JobObjectExtendedLimitInformation: JOBOBJECTINFOCLASS = 9i32;
04454e1e 65#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 66pub const JobObjectJobSetInformation: JOBOBJECTINFOCLASS = 10i32;
04454e1e 67#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 68pub const JobObjectGroupInformation: JOBOBJECTINFOCLASS = 11i32;
04454e1e 69#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 70pub const JobObjectNotificationLimitInformation: JOBOBJECTINFOCLASS = 12i32;
04454e1e 71#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 72pub const JobObjectLimitViolationInformation: JOBOBJECTINFOCLASS = 13i32;
04454e1e 73#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 74pub const JobObjectGroupInformationEx: JOBOBJECTINFOCLASS = 14i32;
04454e1e 75#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 76pub const JobObjectCpuRateControlInformation: JOBOBJECTINFOCLASS = 15i32;
04454e1e 77#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 78pub const JobObjectCompletionFilter: JOBOBJECTINFOCLASS = 16i32;
04454e1e 79#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 80pub const JobObjectCompletionCounter: JOBOBJECTINFOCLASS = 17i32;
04454e1e 81#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 82pub const JobObjectReserved1Information: JOBOBJECTINFOCLASS = 18i32;
04454e1e 83#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 84pub const JobObjectReserved2Information: JOBOBJECTINFOCLASS = 19i32;
04454e1e 85#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 86pub const JobObjectReserved3Information: JOBOBJECTINFOCLASS = 20i32;
04454e1e 87#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 88pub const JobObjectReserved4Information: JOBOBJECTINFOCLASS = 21i32;
04454e1e 89#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 90pub const JobObjectReserved5Information: JOBOBJECTINFOCLASS = 22i32;
04454e1e 91#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 92pub const JobObjectReserved6Information: JOBOBJECTINFOCLASS = 23i32;
04454e1e 93#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 94pub const JobObjectReserved7Information: JOBOBJECTINFOCLASS = 24i32;
04454e1e 95#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 96pub const JobObjectReserved8Information: JOBOBJECTINFOCLASS = 25i32;
04454e1e 97#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 98pub const JobObjectReserved9Information: JOBOBJECTINFOCLASS = 26i32;
04454e1e 99#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 100pub const JobObjectReserved10Information: JOBOBJECTINFOCLASS = 27i32;
04454e1e 101#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 102pub const JobObjectReserved11Information: JOBOBJECTINFOCLASS = 28i32;
04454e1e 103#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 104pub const JobObjectReserved12Information: JOBOBJECTINFOCLASS = 29i32;
04454e1e 105#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 106pub const JobObjectReserved13Information: JOBOBJECTINFOCLASS = 30i32;
04454e1e 107#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 108pub const JobObjectReserved14Information: JOBOBJECTINFOCLASS = 31i32;
04454e1e 109#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 110pub const JobObjectNetRateControlInformation: JOBOBJECTINFOCLASS = 32i32;
04454e1e 111#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 112pub const JobObjectNotificationLimitInformation2: JOBOBJECTINFOCLASS = 33i32;
04454e1e 113#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 114pub const JobObjectLimitViolationInformation2: JOBOBJECTINFOCLASS = 34i32;
04454e1e 115#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 116pub const JobObjectCreateSilo: JOBOBJECTINFOCLASS = 35i32;
04454e1e 117#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 118pub const JobObjectSiloBasicInformation: JOBOBJECTINFOCLASS = 36i32;
04454e1e 119#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 120pub const JobObjectReserved15Information: JOBOBJECTINFOCLASS = 37i32;
04454e1e 121#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 122pub const JobObjectReserved16Information: JOBOBJECTINFOCLASS = 38i32;
04454e1e 123#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 124pub const JobObjectReserved17Information: JOBOBJECTINFOCLASS = 39i32;
04454e1e 125#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 126pub const JobObjectReserved18Information: JOBOBJECTINFOCLASS = 40i32;
04454e1e 127#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 128pub const JobObjectReserved19Information: JOBOBJECTINFOCLASS = 41i32;
04454e1e 129#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 130pub const JobObjectReserved20Information: JOBOBJECTINFOCLASS = 42i32;
04454e1e 131#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 132pub const JobObjectReserved21Information: JOBOBJECTINFOCLASS = 43i32;
04454e1e 133#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 134pub const JobObjectReserved22Information: JOBOBJECTINFOCLASS = 44i32;
04454e1e 135#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 136pub const JobObjectReserved23Information: JOBOBJECTINFOCLASS = 45i32;
04454e1e 137#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 138pub const JobObjectReserved24Information: JOBOBJECTINFOCLASS = 46i32;
04454e1e 139#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 140pub const JobObjectReserved25Information: JOBOBJECTINFOCLASS = 47i32;
04454e1e 141#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085
FG
142pub const MaxJobObjectInfoClass: JOBOBJECTINFOCLASS = 48i32;
143#[repr(C)]
04454e1e 144#[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
145#[cfg(feature = "Win32_Foundation")]
146pub 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")]
151impl ::core::marker::Copy for JOBOBJECT_ASSOCIATE_COMPLETION_PORT {}
152#[cfg(feature = "Win32_Foundation")]
153impl ::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
160pub 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}
170impl ::core::marker::Copy for JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {}
171impl ::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")]
179pub 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")]
184impl ::core::marker::Copy for JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {}
185#[cfg(feature = "Win32_System_Threading")]
186impl ::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
193pub 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}
204impl ::core::marker::Copy for JOBOBJECT_BASIC_LIMIT_INFORMATION {}
205impl ::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
212pub struct JOBOBJECT_BASIC_PROCESS_ID_LIST {
213 pub NumberOfAssignedProcesses: u32,
214 pub NumberOfProcessIdsInList: u32,
215 pub ProcessIdList: [usize; 1],
216}
217impl ::core::marker::Copy for JOBOBJECT_BASIC_PROCESS_ID_LIST {}
218impl ::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
225pub struct JOBOBJECT_BASIC_UI_RESTRICTIONS {
226 pub UIRestrictionsClass: JOB_OBJECT_UILIMIT,
227}
228impl ::core::marker::Copy for JOBOBJECT_BASIC_UI_RESTRICTIONS {}
229impl ::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
236pub struct JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {
237 pub ControlFlags: JOB_OBJECT_CPU_RATE_CONTROL,
238 pub Anonymous: JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0,
239}
240impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {}
241impl ::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
248pub 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}
253impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0 {}
254impl ::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
261pub struct JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0 {
262 pub MinRate: u16,
263 pub MaxRate: u16,
264}
265impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0 {}
266impl ::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
273pub struct JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
274 pub EndOfJobTimeAction: JOB_OBJECT_TERMINATE_AT_END_ACTION,
275}
276impl ::core::marker::Copy for JOBOBJECT_END_OF_JOB_TIME_INFORMATION {}
277impl ::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")]
285pub 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")]
294impl ::core::marker::Copy for JOBOBJECT_EXTENDED_LIMIT_INFORMATION {}
295#[cfg(feature = "Win32_System_Threading")]
296impl ::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 302pub type JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = i32;
04454e1e 303#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 304pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE: JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 1i32;
04454e1e 305#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 306pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE: JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 2i32;
04454e1e 307#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085
FG
308pub 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
311pub struct JOBOBJECT_IO_ATTRIBUTION_INFORMATION {
312 pub ControlFlags: u32,
313 pub ReadStats: JOBOBJECT_IO_ATTRIBUTION_STATS,
314 pub WriteStats: JOBOBJECT_IO_ATTRIBUTION_STATS,
315}
316impl ::core::marker::Copy for JOBOBJECT_IO_ATTRIBUTION_INFORMATION {}
317impl ::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
324pub struct JOBOBJECT_IO_ATTRIBUTION_STATS {
325 pub IoCount: usize,
326 pub TotalNonOverlappedQueueTime: u64,
327 pub TotalNonOverlappedServiceTime: u64,
328 pub TotalSize: u64,
329}
330impl ::core::marker::Copy for JOBOBJECT_IO_ATTRIBUTION_STATS {}
331impl ::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
338pub 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 346impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION {}
5e7ed085
FG
347impl ::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
354pub 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 363impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE {}
5e7ed085
FG
364impl ::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
371pub 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 386impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 {}
5e7ed085
FG
387impl ::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
394pub 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 415impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 {}
5e7ed085
FG
416impl ::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
423pub struct JOBOBJECT_JOBSET_INFORMATION {
424 pub MemberLevel: u32,
425}
426impl ::core::marker::Copy for JOBOBJECT_JOBSET_INFORMATION {}
427impl ::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
434pub 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}
448impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION {}
449impl ::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
456pub 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}
475impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {}
476impl ::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
483pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0 {
484 pub JobHighMemoryLimit: u64,
485 pub JobMemoryLimit: u64,
486}
487impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0 {}
488impl ::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
495pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1 {
496 pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
497 pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
498}
499impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1 {}
500impl ::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
507pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2 {
508 pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE,
509 pub CpuRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE,
510}
511impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2 {}
512impl ::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
519pub struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION {
520 pub MaxBandwidth: u64,
521 pub ControlFlags: JOB_OBJECT_NET_RATE_CONTROL_FLAGS,
522 pub DscpTag: u8,
523}
524impl ::core::marker::Copy for JOBOBJECT_NET_RATE_CONTROL_INFORMATION {}
525impl ::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
532pub 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}
541impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION {}
542impl ::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
549pub 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}
563impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 {}
564impl ::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
571pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0 {
572 pub JobHighMemoryLimit: u64,
573 pub JobMemoryLimit: u64,
574}
575impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0 {}
576impl ::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
583pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1 {
584 pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
585 pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
586}
587impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1 {}
588impl ::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
595pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2 {
596 pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
597 pub CpuRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
598}
599impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2 {}
600impl ::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 606pub type JOBOBJECT_RATE_CONTROL_TOLERANCE = i32;
04454e1e 607#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 608pub const ToleranceLow: JOBOBJECT_RATE_CONTROL_TOLERANCE = 1i32;
04454e1e 609#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 610pub const ToleranceMedium: JOBOBJECT_RATE_CONTROL_TOLERANCE = 2i32;
04454e1e 611#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 612pub const ToleranceHigh: JOBOBJECT_RATE_CONTROL_TOLERANCE = 3i32;
04454e1e 613#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 614pub type JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = i32;
04454e1e 615#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 616pub const ToleranceIntervalShort: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 1i32;
04454e1e 617#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 618pub const ToleranceIntervalMedium: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 2i32;
04454e1e 619#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085
FG
620pub 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"))]
624pub 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"))]
632impl ::core::marker::Copy for JOBOBJECT_SECURITY_LIMIT_INFORMATION {}
633#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
634impl ::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 640pub type JOB_OBJECT_CPU_RATE_CONTROL = u32;
04454e1e 641#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 642pub const JOB_OBJECT_CPU_RATE_CONTROL_ENABLE: JOB_OBJECT_CPU_RATE_CONTROL = 1u32;
04454e1e 643#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 644pub const JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED: JOB_OBJECT_CPU_RATE_CONTROL = 2u32;
04454e1e 645#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 646pub const JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP: JOB_OBJECT_CPU_RATE_CONTROL = 4u32;
04454e1e 647#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 648pub const JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY: JOB_OBJECT_CPU_RATE_CONTROL = 8u32;
04454e1e 649#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 650pub const JOB_OBJECT__CPU_RATE_CONTROL_MIN_MAX_RATE: JOB_OBJECT_CPU_RATE_CONTROL = 16u32;
04454e1e 651#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 652pub type JOB_OBJECT_IO_RATE_CONTROL_FLAGS = i32;
04454e1e 653#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 654pub const JOB_OBJECT_IO_RATE_CONTROL_ENABLE: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 1i32;
04454e1e 655#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 656pub const JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 2i32;
04454e1e 657#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 658pub 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 660pub 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 662pub const JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 15i32;
04454e1e 663#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 664pub type JOB_OBJECT_LIMIT = u32;
04454e1e 665#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 666pub const JOB_OBJECT_LIMIT_WORKINGSET: JOB_OBJECT_LIMIT = 1u32;
04454e1e 667#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 668pub const JOB_OBJECT_LIMIT_PROCESS_TIME: JOB_OBJECT_LIMIT = 2u32;
04454e1e 669#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 670pub const JOB_OBJECT_LIMIT_JOB_TIME: JOB_OBJECT_LIMIT = 4u32;
04454e1e 671#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 672pub const JOB_OBJECT_LIMIT_ACTIVE_PROCESS: JOB_OBJECT_LIMIT = 8u32;
04454e1e 673#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 674pub const JOB_OBJECT_LIMIT_AFFINITY: JOB_OBJECT_LIMIT = 16u32;
04454e1e 675#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 676pub const JOB_OBJECT_LIMIT_PRIORITY_CLASS: JOB_OBJECT_LIMIT = 32u32;
04454e1e 677#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 678pub const JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: JOB_OBJECT_LIMIT = 64u32;
04454e1e 679#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 680pub const JOB_OBJECT_LIMIT_SCHEDULING_CLASS: JOB_OBJECT_LIMIT = 128u32;
04454e1e 681#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 682pub const JOB_OBJECT_LIMIT_PROCESS_MEMORY: JOB_OBJECT_LIMIT = 256u32;
04454e1e 683#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 684pub const JOB_OBJECT_LIMIT_JOB_MEMORY: JOB_OBJECT_LIMIT = 512u32;
04454e1e 685#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 686pub const JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH: JOB_OBJECT_LIMIT = 512u32;
04454e1e 687#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 688pub const JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: JOB_OBJECT_LIMIT = 1024u32;
04454e1e 689#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 690pub const JOB_OBJECT_LIMIT_BREAKAWAY_OK: JOB_OBJECT_LIMIT = 2048u32;
04454e1e 691#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 692pub const JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: JOB_OBJECT_LIMIT = 4096u32;
04454e1e 693#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 694pub const JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: JOB_OBJECT_LIMIT = 8192u32;
04454e1e 695#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 696pub const JOB_OBJECT_LIMIT_SUBSET_AFFINITY: JOB_OBJECT_LIMIT = 16384u32;
04454e1e 697#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 698pub const JOB_OBJECT_LIMIT_JOB_MEMORY_LOW: JOB_OBJECT_LIMIT = 32768u32;
04454e1e 699#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 700pub const JOB_OBJECT_LIMIT_JOB_READ_BYTES: JOB_OBJECT_LIMIT = 65536u32;
04454e1e 701#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 702pub const JOB_OBJECT_LIMIT_JOB_WRITE_BYTES: JOB_OBJECT_LIMIT = 131072u32;
04454e1e 703#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 704pub const JOB_OBJECT_LIMIT_RATE_CONTROL: JOB_OBJECT_LIMIT = 262144u32;
04454e1e 705#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 706pub const JOB_OBJECT_LIMIT_CPU_RATE_CONTROL: JOB_OBJECT_LIMIT = 262144u32;
04454e1e 707#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 708pub const JOB_OBJECT_LIMIT_IO_RATE_CONTROL: JOB_OBJECT_LIMIT = 524288u32;
04454e1e 709#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 710pub const JOB_OBJECT_LIMIT_NET_RATE_CONTROL: JOB_OBJECT_LIMIT = 1048576u32;
04454e1e 711#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 712pub const JOB_OBJECT_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 524287u32;
04454e1e 713#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 714pub const JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 255u32;
04454e1e 715#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 716pub const JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 32767u32;
04454e1e 717#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 718pub const JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 2064900u32;
04454e1e 719#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 720pub type JOB_OBJECT_NET_RATE_CONTROL_FLAGS = i32;
04454e1e 721#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 722pub const JOB_OBJECT_NET_RATE_CONTROL_ENABLE: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 1i32;
04454e1e 723#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 724pub const JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 2i32;
04454e1e 725#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 726pub const JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 4i32;
04454e1e 727#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 728pub const JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 7i32;
04454e1e 729#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 730pub type JOB_OBJECT_SECURITY = u32;
04454e1e 731#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 732pub const JOB_OBJECT_SECURITY_NO_ADMIN: JOB_OBJECT_SECURITY = 1u32;
04454e1e 733#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 734pub const JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: JOB_OBJECT_SECURITY = 2u32;
04454e1e 735#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 736pub const JOB_OBJECT_SECURITY_ONLY_TOKEN: JOB_OBJECT_SECURITY = 4u32;
04454e1e 737#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 738pub const JOB_OBJECT_SECURITY_FILTER_TOKENS: JOB_OBJECT_SECURITY = 8u32;
04454e1e 739#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 740pub const JOB_OBJECT_SECURITY_VALID_FLAGS: JOB_OBJECT_SECURITY = 15u32;
04454e1e 741#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 742pub type JOB_OBJECT_TERMINATE_AT_END_ACTION = u32;
04454e1e 743#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 744pub const JOB_OBJECT_TERMINATE_AT_END_OF_JOB: JOB_OBJECT_TERMINATE_AT_END_ACTION = 0u32;
04454e1e 745#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 746pub const JOB_OBJECT_POST_AT_END_OF_JOB: JOB_OBJECT_TERMINATE_AT_END_ACTION = 1u32;
04454e1e 747#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 748pub type JOB_OBJECT_UILIMIT = u32;
04454e1e 749#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 750pub const JOB_OBJECT_UILIMIT_NONE: JOB_OBJECT_UILIMIT = 0u32;
04454e1e 751#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 752pub const JOB_OBJECT_UILIMIT_HANDLES: JOB_OBJECT_UILIMIT = 1u32;
04454e1e 753#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 754pub const JOB_OBJECT_UILIMIT_READCLIPBOARD: JOB_OBJECT_UILIMIT = 2u32;
04454e1e 755#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 756pub const JOB_OBJECT_UILIMIT_WRITECLIPBOARD: JOB_OBJECT_UILIMIT = 4u32;
04454e1e 757#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 758pub const JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: JOB_OBJECT_UILIMIT = 8u32;
04454e1e 759#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 760pub const JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: JOB_OBJECT_UILIMIT = 16u32;
04454e1e 761#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 762pub const JOB_OBJECT_UILIMIT_GLOBALATOMS: JOB_OBJECT_UILIMIT = 32u32;
04454e1e 763#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085 764pub const JOB_OBJECT_UILIMIT_DESKTOP: JOB_OBJECT_UILIMIT = 64u32;
04454e1e 765#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
5e7ed085
FG
766pub 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")]
770pub 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")]
776impl ::core::marker::Copy for JOB_SET_ARRAY {}
777#[cfg(feature = "Win32_Foundation")]
778impl ::core::clone::Clone for JOB_SET_ARRAY {
779 fn clone(&self) -> Self {
780 *self
781 }
782}