https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fb9ffed1cdcba9cd4628af...
commit fb9ffed1cdcba9cd4628af6cfd5df2913a2e9428 Author: Pierre Schweitzer pierre@reactos.org AuthorDate: Fri May 25 00:17:58 2018 +0200 Commit: Pierre Schweitzer pierre@reactos.org CommitDate: Fri May 25 08:48:51 2018 +0200
[SDK] Add a few types for job objects information --- sdk/include/ndk/pstypes.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+)
diff --git a/sdk/include/ndk/pstypes.h b/sdk/include/ndk/pstypes.h index 01468b2eb9..411a1d334a 100644 --- a/sdk/include/ndk/pstypes.h +++ b/sdk/include/ndk/pstypes.h @@ -1461,6 +1461,52 @@ typedef struct _EJOB } EJOB, *PEJOB; #include <poppack.h>
+// +// Job Information Structures for NtQueryInformationJobObject +// + +typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION +{ + LARGE_INTEGER TotalUserTime; + LARGE_INTEGER TotalKernelTime; + LARGE_INTEGER ThisPeriodTotalUserTime; + LARGE_INTEGER ThisPeriodTotalKernelTime; + ULONG TotalPageFaultCount; + ULONG TotalProcesses; + ULONG ActiveProcesses; + ULONG TotalTerminatedProcesses; +} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION; + +typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION +{ + LARGE_INTEGER PerProcessUserTimeLimit; + LARGE_INTEGER PerJobUserTimeLimit; + ULONG LimitFlags; + SIZE_T MinimumWorkingSetSize; + SIZE_T MaximumWorkingSetSize; + ULONG ActiveProcessLimit; + ULONG_PTR Affinity; + ULONG PriorityClass; + ULONG SchedulingClass; +} JOBOBJECT_BASIC_LIMIT_INFORMATION, *PJOBOBJECT_BASIC_LIMIT_INFORMATION; + +typedef struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION +{ + JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; + IO_COUNTERS IoInfo; +} JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; + +typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION +{ + JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; + IO_COUNTERS IoInfo; + SIZE_T ProcessMemoryLimit; + SIZE_T JobMemoryLimit; + SIZE_T PeakProcessMemoryUsed; + SIZE_T PeakJobMemoryUsed; +} JOBOBJECT_EXTENDED_LIMIT_INFORMATION, *PJOBOBJECT_EXTENDED_LIMIT_INFORMATION; + + // // Win32K Callback Registration Data //