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