From fb9ffed1cdcba9cd4628af6cfd5df2913a2e9428 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Fri, 25 May 2018 00:17:58 +0200 Subject: [PATCH] [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 01468b2eb97..411a1d334a6 100644 --- a/sdk/include/ndk/pstypes.h +++ b/sdk/include/ndk/pstypes.h @@ -1461,6 +1461,52 @@ typedef struct _EJOB } EJOB, *PEJOB; #include +// +// 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 //