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