summaryrefslogtreecommitdiffstats
path: root/vendor/windows-sys/src/Windows/Win32/System/JobObjects/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/windows-sys/src/Windows/Win32/System/JobObjects/mod.rs')
-rw-r--r--vendor/windows-sys/src/Windows/Win32/System/JobObjects/mod.rs782
1 files changed, 782 insertions, 0 deletions
diff --git a/vendor/windows-sys/src/Windows/Win32/System/JobObjects/mod.rs b/vendor/windows-sys/src/Windows/Win32/System/JobObjects/mod.rs
new file mode 100644
index 000000000..e2f419fed
--- /dev/null
+++ b/vendor/windows-sys/src/Windows/Win32/System/JobObjects/mod.rs
@@ -0,0 +1,782 @@
+#[link(name = "windows")]
+extern "system" {
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn AssignProcessToJobObject(hjob: super::super::Foundation::HANDLE, hprocess: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"]
+ #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
+ pub fn CreateJobObjectA(lpjobattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpname: ::windows_sys::core::PCSTR) -> super::super::Foundation::HANDLE;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"]
+ #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
+ pub fn CreateJobObjectW(lpjobattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpname: ::windows_sys::core::PCWSTR) -> super::super::Foundation::HANDLE;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn CreateJobSet(numjob: u32, userjobset: *const JOB_SET_ARRAY, flags: u32) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+ pub fn FreeMemoryJobObject(buffer: *const ::core::ffi::c_void);
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn IsProcessInJob(processhandle: super::super::Foundation::HANDLE, jobhandle: super::super::Foundation::HANDLE, result: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn OpenJobObjectA(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lpname: ::windows_sys::core::PCSTR) -> super::super::Foundation::HANDLE;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn OpenJobObjectW(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lpname: ::windows_sys::core::PCWSTR) -> super::super::Foundation::HANDLE;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ 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;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ 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;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn SetInformationJobObject(hjob: super::super::Foundation::HANDLE, jobobjectinformationclass: JOBOBJECTINFOCLASS, lpjobobjectinformation: *const ::core::ffi::c_void, cbjobobjectinformationlength: u32) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn SetIoRateControlInformationJobObject(hjob: super::super::Foundation::HANDLE, ioratecontrolinfo: *const JOBOBJECT_IO_RATE_CONTROL_INFORMATION) -> u32;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn TerminateJobObject(hjob: super::super::Foundation::HANDLE, uexitcode: u32) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn UserHandleGrantAccess(huserhandle: super::super::Foundation::HANDLE, hjob: super::super::Foundation::HANDLE, bgrant: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
+}
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOBOBJECTINFOCLASS = i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectBasicAccountingInformation: JOBOBJECTINFOCLASS = 1i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectBasicLimitInformation: JOBOBJECTINFOCLASS = 2i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectBasicProcessIdList: JOBOBJECTINFOCLASS = 3i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectBasicUIRestrictions: JOBOBJECTINFOCLASS = 4i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectSecurityLimitInformation: JOBOBJECTINFOCLASS = 5i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectEndOfJobTimeInformation: JOBOBJECTINFOCLASS = 6i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectAssociateCompletionPortInformation: JOBOBJECTINFOCLASS = 7i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectBasicAndIoAccountingInformation: JOBOBJECTINFOCLASS = 8i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectExtendedLimitInformation: JOBOBJECTINFOCLASS = 9i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectJobSetInformation: JOBOBJECTINFOCLASS = 10i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectGroupInformation: JOBOBJECTINFOCLASS = 11i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectNotificationLimitInformation: JOBOBJECTINFOCLASS = 12i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectLimitViolationInformation: JOBOBJECTINFOCLASS = 13i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectGroupInformationEx: JOBOBJECTINFOCLASS = 14i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectCpuRateControlInformation: JOBOBJECTINFOCLASS = 15i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectCompletionFilter: JOBOBJECTINFOCLASS = 16i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectCompletionCounter: JOBOBJECTINFOCLASS = 17i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved1Information: JOBOBJECTINFOCLASS = 18i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved2Information: JOBOBJECTINFOCLASS = 19i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved3Information: JOBOBJECTINFOCLASS = 20i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved4Information: JOBOBJECTINFOCLASS = 21i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved5Information: JOBOBJECTINFOCLASS = 22i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved6Information: JOBOBJECTINFOCLASS = 23i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved7Information: JOBOBJECTINFOCLASS = 24i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved8Information: JOBOBJECTINFOCLASS = 25i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved9Information: JOBOBJECTINFOCLASS = 26i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved10Information: JOBOBJECTINFOCLASS = 27i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved11Information: JOBOBJECTINFOCLASS = 28i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved12Information: JOBOBJECTINFOCLASS = 29i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved13Information: JOBOBJECTINFOCLASS = 30i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved14Information: JOBOBJECTINFOCLASS = 31i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectNetRateControlInformation: JOBOBJECTINFOCLASS = 32i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectNotificationLimitInformation2: JOBOBJECTINFOCLASS = 33i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectLimitViolationInformation2: JOBOBJECTINFOCLASS = 34i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectCreateSilo: JOBOBJECTINFOCLASS = 35i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectSiloBasicInformation: JOBOBJECTINFOCLASS = 36i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved15Information: JOBOBJECTINFOCLASS = 37i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved16Information: JOBOBJECTINFOCLASS = 38i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved17Information: JOBOBJECTINFOCLASS = 39i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved18Information: JOBOBJECTINFOCLASS = 40i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved19Information: JOBOBJECTINFOCLASS = 41i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved20Information: JOBOBJECTINFOCLASS = 42i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved21Information: JOBOBJECTINFOCLASS = 43i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved22Information: JOBOBJECTINFOCLASS = 44i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved23Information: JOBOBJECTINFOCLASS = 45i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved24Information: JOBOBJECTINFOCLASS = 46i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JobObjectReserved25Information: JOBOBJECTINFOCLASS = 47i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const MaxJobObjectInfoClass: JOBOBJECTINFOCLASS = 48i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct JOBOBJECT_ASSOCIATE_COMPLETION_PORT {
+ pub CompletionKey: *mut ::core::ffi::c_void,
+ pub CompletionPort: super::super::Foundation::HANDLE,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for JOBOBJECT_ASSOCIATE_COMPLETION_PORT {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for JOBOBJECT_ASSOCIATE_COMPLETION_PORT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
+ pub TotalUserTime: i64,
+ pub TotalKernelTime: i64,
+ pub ThisPeriodTotalUserTime: i64,
+ pub ThisPeriodTotalKernelTime: i64,
+ pub TotalPageFaultCount: u32,
+ pub TotalProcesses: u32,
+ pub ActiveProcesses: u32,
+ pub TotalTerminatedProcesses: u32,
+}
+impl ::core::marker::Copy for JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_System_Threading\"`*"]
+#[cfg(feature = "Win32_System_Threading")]
+pub struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {
+ pub BasicInfo: JOBOBJECT_BASIC_ACCOUNTING_INFORMATION,
+ pub IoInfo: super::Threading::IO_COUNTERS,
+}
+#[cfg(feature = "Win32_System_Threading")]
+impl ::core::marker::Copy for JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {}
+#[cfg(feature = "Win32_System_Threading")]
+impl ::core::clone::Clone for JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_BASIC_LIMIT_INFORMATION {
+ pub PerProcessUserTimeLimit: i64,
+ pub PerJobUserTimeLimit: i64,
+ pub LimitFlags: JOB_OBJECT_LIMIT,
+ pub MinimumWorkingSetSize: usize,
+ pub MaximumWorkingSetSize: usize,
+ pub ActiveProcessLimit: u32,
+ pub Affinity: usize,
+ pub PriorityClass: u32,
+ pub SchedulingClass: u32,
+}
+impl ::core::marker::Copy for JOBOBJECT_BASIC_LIMIT_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_BASIC_LIMIT_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_BASIC_PROCESS_ID_LIST {
+ pub NumberOfAssignedProcesses: u32,
+ pub NumberOfProcessIdsInList: u32,
+ pub ProcessIdList: [usize; 1],
+}
+impl ::core::marker::Copy for JOBOBJECT_BASIC_PROCESS_ID_LIST {}
+impl ::core::clone::Clone for JOBOBJECT_BASIC_PROCESS_ID_LIST {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_BASIC_UI_RESTRICTIONS {
+ pub UIRestrictionsClass: JOB_OBJECT_UILIMIT,
+}
+impl ::core::marker::Copy for JOBOBJECT_BASIC_UI_RESTRICTIONS {}
+impl ::core::clone::Clone for JOBOBJECT_BASIC_UI_RESTRICTIONS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {
+ pub ControlFlags: JOB_OBJECT_CPU_RATE_CONTROL,
+ pub Anonymous: JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0,
+}
+impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub union JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0 {
+ pub CpuRate: u32,
+ pub Weight: u32,
+ pub Anonymous: JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0,
+}
+impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0 {}
+impl ::core::clone::Clone for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0 {
+ pub MinRate: u16,
+ pub MaxRate: u16,
+}
+impl ::core::marker::Copy for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0 {}
+impl ::core::clone::Clone for JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
+ pub EndOfJobTimeAction: JOB_OBJECT_TERMINATE_AT_END_ACTION,
+}
+impl ::core::marker::Copy for JOBOBJECT_END_OF_JOB_TIME_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_System_Threading\"`*"]
+#[cfg(feature = "Win32_System_Threading")]
+pub struct JOBOBJECT_EXTENDED_LIMIT_INFORMATION {
+ pub BasicLimitInformation: JOBOBJECT_BASIC_LIMIT_INFORMATION,
+ pub IoInfo: super::Threading::IO_COUNTERS,
+ pub ProcessMemoryLimit: usize,
+ pub JobMemoryLimit: usize,
+ pub PeakProcessMemoryUsed: usize,
+ pub PeakJobMemoryUsed: usize,
+}
+#[cfg(feature = "Win32_System_Threading")]
+impl ::core::marker::Copy for JOBOBJECT_EXTENDED_LIMIT_INFORMATION {}
+#[cfg(feature = "Win32_System_Threading")]
+impl ::core::clone::Clone for JOBOBJECT_EXTENDED_LIMIT_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE: JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 1i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE: JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 2i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS: JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 3i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_IO_ATTRIBUTION_INFORMATION {
+ pub ControlFlags: u32,
+ pub ReadStats: JOBOBJECT_IO_ATTRIBUTION_STATS,
+ pub WriteStats: JOBOBJECT_IO_ATTRIBUTION_STATS,
+}
+impl ::core::marker::Copy for JOBOBJECT_IO_ATTRIBUTION_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_IO_ATTRIBUTION_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_IO_ATTRIBUTION_STATS {
+ pub IoCount: usize,
+ pub TotalNonOverlappedQueueTime: u64,
+ pub TotalNonOverlappedServiceTime: u64,
+ pub TotalSize: u64,
+}
+impl ::core::marker::Copy for JOBOBJECT_IO_ATTRIBUTION_STATS {}
+impl ::core::clone::Clone for JOBOBJECT_IO_ATTRIBUTION_STATS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION {
+ pub MaxIops: i64,
+ pub MaxBandwidth: i64,
+ pub ReservationIops: i64,
+ pub VolumeName: ::windows_sys::core::PCWSTR,
+ pub BaseIoSize: u32,
+ pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS,
+}
+impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_IO_RATE_CONTROL_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE {
+ pub MaxIops: i64,
+ pub MaxBandwidth: i64,
+ pub ReservationIops: i64,
+ pub VolumeName: ::windows_sys::core::PWSTR,
+ pub BaseIoSize: u32,
+ pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS,
+ pub VolumeNameLength: u16,
+}
+impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE {}
+impl ::core::clone::Clone for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 {
+ pub MaxIops: i64,
+ pub MaxBandwidth: i64,
+ pub ReservationIops: i64,
+ pub VolumeName: ::windows_sys::core::PWSTR,
+ pub BaseIoSize: u32,
+ pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS,
+ pub VolumeNameLength: u16,
+ pub CriticalReservationIops: i64,
+ pub ReservationBandwidth: i64,
+ pub CriticalReservationBandwidth: i64,
+ pub MaxTimePercent: i64,
+ pub ReservationTimePercent: i64,
+ pub CriticalReservationTimePercent: i64,
+}
+impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 {}
+impl ::core::clone::Clone for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 {
+ pub MaxIops: i64,
+ pub MaxBandwidth: i64,
+ pub ReservationIops: i64,
+ pub VolumeName: ::windows_sys::core::PWSTR,
+ pub BaseIoSize: u32,
+ pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS,
+ pub VolumeNameLength: u16,
+ pub CriticalReservationIops: i64,
+ pub ReservationBandwidth: i64,
+ pub CriticalReservationBandwidth: i64,
+ pub MaxTimePercent: i64,
+ pub ReservationTimePercent: i64,
+ pub CriticalReservationTimePercent: i64,
+ pub SoftMaxIops: i64,
+ pub SoftMaxBandwidth: i64,
+ pub SoftMaxTimePercent: i64,
+ pub LimitExcessNotifyIops: i64,
+ pub LimitExcessNotifyBandwidth: i64,
+ pub LimitExcessNotifyTimePercent: i64,
+}
+impl ::core::marker::Copy for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 {}
+impl ::core::clone::Clone for JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_JOBSET_INFORMATION {
+ pub MemberLevel: u32,
+}
+impl ::core::marker::Copy for JOBOBJECT_JOBSET_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_JOBSET_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION {
+ pub LimitFlags: JOB_OBJECT_LIMIT,
+ pub ViolationLimitFlags: JOB_OBJECT_LIMIT,
+ pub IoReadBytes: u64,
+ pub IoReadBytesLimit: u64,
+ pub IoWriteBytes: u64,
+ pub IoWriteBytesLimit: u64,
+ pub PerJobUserTime: i64,
+ pub PerJobUserTimeLimit: i64,
+ pub JobMemory: u64,
+ pub JobMemoryLimit: u64,
+ pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+}
+impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {
+ pub LimitFlags: JOB_OBJECT_LIMIT,
+ pub ViolationLimitFlags: JOB_OBJECT_LIMIT,
+ pub IoReadBytes: u64,
+ pub IoReadBytesLimit: u64,
+ pub IoWriteBytes: u64,
+ pub IoWriteBytesLimit: u64,
+ pub PerJobUserTime: i64,
+ pub PerJobUserTimeLimit: i64,
+ pub JobMemory: u64,
+ pub Anonymous1: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0,
+ pub Anonymous2: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1,
+ pub Anonymous3: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2,
+ pub JobLowMemoryLimit: u64,
+ pub IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub IoRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub NetRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+}
+impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {}
+impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0 {
+ pub JobHighMemoryLimit: u64,
+ pub JobMemoryLimit: u64,
+}
+impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0 {}
+impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1 {
+ pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+}
+impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1 {}
+impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2 {
+ pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub CpuRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+}
+impl ::core::marker::Copy for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2 {}
+impl ::core::clone::Clone for JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION {
+ pub MaxBandwidth: u64,
+ pub ControlFlags: JOB_OBJECT_NET_RATE_CONTROL_FLAGS,
+ pub DscpTag: u8,
+}
+impl ::core::marker::Copy for JOBOBJECT_NET_RATE_CONTROL_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_NET_RATE_CONTROL_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION {
+ pub IoReadBytesLimit: u64,
+ pub IoWriteBytesLimit: u64,
+ pub PerJobUserTimeLimit: i64,
+ pub JobMemoryLimit: u64,
+ pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
+ pub LimitFlags: JOB_OBJECT_LIMIT,
+}
+impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION {}
+impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 {
+ pub IoReadBytesLimit: u64,
+ pub IoWriteBytesLimit: u64,
+ pub PerJobUserTimeLimit: i64,
+ pub Anonymous1: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0,
+ pub Anonymous2: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1,
+ pub Anonymous3: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2,
+ pub LimitFlags: JOB_OBJECT_LIMIT,
+ pub IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub JobLowMemoryLimit: u64,
+ pub IoRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
+ pub NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub NetRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
+}
+impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 {}
+impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0 {
+ pub JobHighMemoryLimit: u64,
+ pub JobMemoryLimit: u64,
+}
+impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0 {}
+impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1 {
+ pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+ pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE,
+}
+impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1 {}
+impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2 {
+ pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
+ pub CpuRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
+}
+impl ::core::marker::Copy for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2 {}
+impl ::core::clone::Clone for JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOBOBJECT_RATE_CONTROL_TOLERANCE = i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const ToleranceLow: JOBOBJECT_RATE_CONTROL_TOLERANCE = 1i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const ToleranceMedium: JOBOBJECT_RATE_CONTROL_TOLERANCE = 2i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const ToleranceHigh: JOBOBJECT_RATE_CONTROL_TOLERANCE = 3i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const ToleranceIntervalShort: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 1i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const ToleranceIntervalMedium: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 2i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const ToleranceIntervalLong: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 3i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
+pub struct JOBOBJECT_SECURITY_LIMIT_INFORMATION {
+ pub SecurityLimitFlags: JOB_OBJECT_SECURITY,
+ pub JobToken: super::super::Foundation::HANDLE,
+ pub SidsToDisable: *mut super::super::Security::TOKEN_GROUPS,
+ pub PrivilegesToDelete: *mut super::super::Security::TOKEN_PRIVILEGES,
+ pub RestrictedSids: *mut super::super::Security::TOKEN_GROUPS,
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
+impl ::core::marker::Copy for JOBOBJECT_SECURITY_LIMIT_INFORMATION {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
+impl ::core::clone::Clone for JOBOBJECT_SECURITY_LIMIT_INFORMATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOB_OBJECT_CPU_RATE_CONTROL = u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_CPU_RATE_CONTROL_ENABLE: JOB_OBJECT_CPU_RATE_CONTROL = 1u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED: JOB_OBJECT_CPU_RATE_CONTROL = 2u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP: JOB_OBJECT_CPU_RATE_CONTROL = 4u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY: JOB_OBJECT_CPU_RATE_CONTROL = 8u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT__CPU_RATE_CONTROL_MIN_MAX_RATE: JOB_OBJECT_CPU_RATE_CONTROL = 16u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOB_OBJECT_IO_RATE_CONTROL_FLAGS = i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_IO_RATE_CONTROL_ENABLE: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 1i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 2i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 4i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 8i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS: JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 15i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOB_OBJECT_LIMIT = u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_WORKINGSET: JOB_OBJECT_LIMIT = 1u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_PROCESS_TIME: JOB_OBJECT_LIMIT = 2u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_JOB_TIME: JOB_OBJECT_LIMIT = 4u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_ACTIVE_PROCESS: JOB_OBJECT_LIMIT = 8u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_AFFINITY: JOB_OBJECT_LIMIT = 16u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_PRIORITY_CLASS: JOB_OBJECT_LIMIT = 32u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: JOB_OBJECT_LIMIT = 64u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_SCHEDULING_CLASS: JOB_OBJECT_LIMIT = 128u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_PROCESS_MEMORY: JOB_OBJECT_LIMIT = 256u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_JOB_MEMORY: JOB_OBJECT_LIMIT = 512u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH: JOB_OBJECT_LIMIT = 512u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: JOB_OBJECT_LIMIT = 1024u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_BREAKAWAY_OK: JOB_OBJECT_LIMIT = 2048u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: JOB_OBJECT_LIMIT = 4096u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: JOB_OBJECT_LIMIT = 8192u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_SUBSET_AFFINITY: JOB_OBJECT_LIMIT = 16384u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_JOB_MEMORY_LOW: JOB_OBJECT_LIMIT = 32768u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_JOB_READ_BYTES: JOB_OBJECT_LIMIT = 65536u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_JOB_WRITE_BYTES: JOB_OBJECT_LIMIT = 131072u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_RATE_CONTROL: JOB_OBJECT_LIMIT = 262144u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_CPU_RATE_CONTROL: JOB_OBJECT_LIMIT = 262144u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_IO_RATE_CONTROL: JOB_OBJECT_LIMIT = 524288u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_NET_RATE_CONTROL: JOB_OBJECT_LIMIT = 1048576u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 524287u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 255u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 32767u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS: JOB_OBJECT_LIMIT = 2064900u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOB_OBJECT_NET_RATE_CONTROL_FLAGS = i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_NET_RATE_CONTROL_ENABLE: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 1i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 2i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 4i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS: JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 7i32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOB_OBJECT_SECURITY = u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_SECURITY_NO_ADMIN: JOB_OBJECT_SECURITY = 1u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: JOB_OBJECT_SECURITY = 2u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_SECURITY_ONLY_TOKEN: JOB_OBJECT_SECURITY = 4u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_SECURITY_FILTER_TOKENS: JOB_OBJECT_SECURITY = 8u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_SECURITY_VALID_FLAGS: JOB_OBJECT_SECURITY = 15u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOB_OBJECT_TERMINATE_AT_END_ACTION = u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_TERMINATE_AT_END_OF_JOB: JOB_OBJECT_TERMINATE_AT_END_ACTION = 0u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_POST_AT_END_OF_JOB: JOB_OBJECT_TERMINATE_AT_END_ACTION = 1u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub type JOB_OBJECT_UILIMIT = u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_NONE: JOB_OBJECT_UILIMIT = 0u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_HANDLES: JOB_OBJECT_UILIMIT = 1u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_READCLIPBOARD: JOB_OBJECT_UILIMIT = 2u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_WRITECLIPBOARD: JOB_OBJECT_UILIMIT = 4u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: JOB_OBJECT_UILIMIT = 8u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: JOB_OBJECT_UILIMIT = 16u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_GLOBALATOMS: JOB_OBJECT_UILIMIT = 32u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_DESKTOP: JOB_OBJECT_UILIMIT = 64u32;
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`*"]
+pub const JOB_OBJECT_UILIMIT_EXITWINDOWS: JOB_OBJECT_UILIMIT = 128u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_System_JobObjects\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct JOB_SET_ARRAY {
+ pub JobHandle: super::super::Foundation::HANDLE,
+ pub MemberLevel: u32,
+ pub Flags: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for JOB_SET_ARRAY {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for JOB_SET_ARRAY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}