ReactOS 0.4.17-dev-769-g1500a35
pstypes.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 pstypes.h
8
9Abstract:
10
11 Type definitions for the Process Manager
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _PSTYPES_H
20#define _PSTYPES_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26#include <ldrtypes.h>
27#include <mmtypes.h>
28#include <obtypes.h>
29#include <rtltypes.h>
30#ifndef NTOS_MODE_USER
31#include <extypes.h>
32#include <setypes.h>
33#endif
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39#ifndef NTOS_MODE_USER
40
41//
42// Kernel Exported Object Types
43//
45
46#endif // !NTOS_MODE_USER
47
48//
49// Global Flags
50//
51#define FLG_STOP_ON_EXCEPTION 0x00000001
52#define FLG_SHOW_LDR_SNAPS 0x00000002
53#define FLG_DEBUG_INITIAL_COMMAND 0x00000004
54#define FLG_STOP_ON_HUNG_GUI 0x00000008
55#define FLG_HEAP_ENABLE_TAIL_CHECK 0x00000010
56#define FLG_HEAP_ENABLE_FREE_CHECK 0x00000020
57#define FLG_HEAP_VALIDATE_PARAMETERS 0x00000040
58#define FLG_HEAP_VALIDATE_ALL 0x00000080
59#define FLG_APPLICATION_VERIFIER 0x00000100
60#define FLG_POOL_ENABLE_TAGGING 0x00000400
61#define FLG_HEAP_ENABLE_TAGGING 0x00000800
62#define FLG_USER_STACK_TRACE_DB 0x00001000
63#define FLG_KERNEL_STACK_TRACE_DB 0x00002000
64#define FLG_MAINTAIN_OBJECT_TYPELIST 0x00004000
65#define FLG_HEAP_ENABLE_TAG_BY_DLL 0x00008000
66#define FLG_DISABLE_STACK_EXTENSION 0x00010000
67#define FLG_ENABLE_CSRDEBUG 0x00020000
68#define FLG_ENABLE_KDEBUG_SYMBOL_LOAD 0x00040000
69#define FLG_DISABLE_PAGE_KERNEL_STACKS 0x00080000
70#if (NTDDI_VERSION < NTDDI_WINXP)
71#define FLG_HEAP_ENABLE_CALL_TRACING 0x00100000
72#else
73#define FLG_ENABLE_SYSTEM_CRIT_BREAKS 0x00100000
74#endif
75#define FLG_HEAP_DISABLE_COALESCING 0x00200000
76#define FLG_ENABLE_CLOSE_EXCEPTIONS 0x00400000
77#define FLG_ENABLE_EXCEPTION_LOGGING 0x00800000
78#define FLG_ENABLE_HANDLE_TYPE_TAGGING 0x01000000
79#define FLG_HEAP_PAGE_ALLOCS 0x02000000
80#define FLG_DEBUG_INITIAL_COMMAND_EX 0x04000000
81#define FLG_DISABLE_DEBUG_PROMPTS 0x08000000 // ReactOS-specific
82#define FLG_VALID_BITS 0x0FFFFFFF
83
84//
85// Flags for NtCreateProcessEx
86//
87#define PROCESS_CREATE_FLAGS_BREAKAWAY 0x00000001
88#define PROCESS_CREATE_FLAGS_NO_DEBUG_INHERIT 0x00000002
89#define PROCESS_CREATE_FLAGS_INHERIT_HANDLES 0x00000004
90#define PROCESS_CREATE_FLAGS_OVERRIDE_ADDRESS_SPACE 0x00000008
91#define PROCESS_CREATE_FLAGS_LARGE_PAGES 0x00000010
92#define PROCESS_CREATE_FLAGS_ALL_LARGE_PAGE_FLAGS PROCESS_CREATE_FLAGS_LARGE_PAGES
93#define PROCESS_CREATE_FLAGS_LEGAL_MASK (PROCESS_CREATE_FLAGS_BREAKAWAY | \
94 PROCESS_CREATE_FLAGS_NO_DEBUG_INHERIT | \
95 PROCESS_CREATE_FLAGS_INHERIT_HANDLES | \
96 PROCESS_CREATE_FLAGS_OVERRIDE_ADDRESS_SPACE | \
97 PROCESS_CREATE_FLAGS_ALL_LARGE_PAGE_FLAGS)
98
99//
100// Process priority classes
101//
102#define PROCESS_PRIORITY_CLASS_INVALID 0
103#define PROCESS_PRIORITY_CLASS_IDLE 1
104#define PROCESS_PRIORITY_CLASS_NORMAL 2
105#define PROCESS_PRIORITY_CLASS_HIGH 3
106#define PROCESS_PRIORITY_CLASS_REALTIME 4
107#define PROCESS_PRIORITY_CLASS_BELOW_NORMAL 5
108#define PROCESS_PRIORITY_CLASS_ABOVE_NORMAL 6
109
110//
111// Process base priorities
112//
113#define PROCESS_PRIORITY_IDLE 3
114#define PROCESS_PRIORITY_NORMAL 8
115#define PROCESS_PRIORITY_NORMAL_FOREGROUND 9
116
117//
118// Process memory priorities
119//
120#define MEMORY_PRIORITY_BACKGROUND 0
121#define MEMORY_PRIORITY_UNKNOWN 1
122#define MEMORY_PRIORITY_FOREGROUND 2
123
124//
125// Process Priority Separation Values (OR)
126//
127#define PSP_DEFAULT_QUANTUMS 0x00
128#define PSP_VARIABLE_QUANTUMS 0x04
129#define PSP_FIXED_QUANTUMS 0x08
130#define PSP_LONG_QUANTUMS 0x10
131#define PSP_SHORT_QUANTUMS 0x20
132
133//
134// Process Handle Tracing Values
135//
136#define PROCESS_HANDLE_TRACE_TYPE_OPEN 1
137#define PROCESS_HANDLE_TRACE_TYPE_CLOSE 2
138#define PROCESS_HANDLE_TRACE_TYPE_BADREF 3
139#define PROCESS_HANDLE_TRACING_MAX_STACKS 16
140
141#ifndef NTOS_MODE_USER
142//
143// Thread Access Types
144//
145#define THREAD_QUERY_INFORMATION 0x0040
146#define THREAD_SET_THREAD_TOKEN 0x0080
147#define THREAD_IMPERSONATE 0x0100
148#define THREAD_DIRECT_IMPERSONATION 0x0200
149
150//
151// Process Access Types
152//
153#define PROCESS_TERMINATE 0x0001
154#define PROCESS_CREATE_THREAD 0x0002
155#define PROCESS_SET_SESSIONID 0x0004
156#define PROCESS_VM_OPERATION 0x0008
157#define PROCESS_VM_READ 0x0010
158#define PROCESS_VM_WRITE 0x0020
159#define PROCESS_CREATE_PROCESS 0x0080
160#define PROCESS_SET_QUOTA 0x0100
161#define PROCESS_SET_INFORMATION 0x0200
162#define PROCESS_QUERY_INFORMATION 0x0400
163#define PROCESS_SUSPEND_RESUME 0x0800
164#define PROCESS_QUERY_LIMITED_INFORMATION 0x1000
165#if (NTDDI_VERSION >= NTDDI_LONGHORN)
166#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
167 SYNCHRONIZE | \
168 0xFFFF)
169#else
170#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
171 SYNCHRONIZE | \
172 0xFFF)
173#endif
174
175//
176// Thread Base Priorities
177//
178#define THREAD_BASE_PRIORITY_LOWRT 15
179#define THREAD_BASE_PRIORITY_MAX 2
180#define THREAD_BASE_PRIORITY_MIN -2
181#define THREAD_BASE_PRIORITY_IDLE -15
182
183//
184// TLS Slots
185//
186#define TLS_MINIMUM_AVAILABLE 64
187
188//
189// TEB Active Frame Flags
190//
191#define TEB_ACTIVE_FRAME_CONTEXT_FLAG_EXTENDED 0x1
192
193//
194// Job Access Types
195//
196#define JOB_OBJECT_ASSIGN_PROCESS 0x1
197#define JOB_OBJECT_SET_ATTRIBUTES 0x2
198#define JOB_OBJECT_QUERY 0x4
199#define JOB_OBJECT_TERMINATE 0x8
200#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES 0x10
201#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
202 SYNCHRONIZE | \
203 31)
204
205//
206// Job Limit Flags
207//
208#define JOB_OBJECT_LIMIT_WORKINGSET 0x1
209#define JOB_OBJECT_LIMIT_PROCESS_TIME 0x2
210#define JOB_OBJECT_LIMIT_JOB_TIME 0x4
211#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS 0x8
212#define JOB_OBJECT_LIMIT_AFFINITY 0x10
213#define JOB_OBJECT_LIMIT_PRIORITY_CLASS 0x20
214#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME 0x40
215#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS 0x80
216#define JOB_OBJECT_LIMIT_PROCESS_MEMORY 0x100
217#define JOB_OBJECT_LIMIT_JOB_MEMORY 0x200
218#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x400
219#define JOB_OBJECT_LIMIT_BREAKAWAY_OK 0x800
220#define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK 0x1000
221#define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE 0x2000
222
223//
224// Job UI Restriction Flags
225//
226#define JOB_OBJECT_UILIMIT_NONE 0x0000
227#define JOB_OBJECT_UILIMIT_HANDLES 0x0001
228#define JOB_OBJECT_UILIMIT_READCLIPBOARD 0x0002
229#define JOB_OBJECT_UILIMIT_WRITECLIPBOARD 0x0004
230#define JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS 0x0008
231#define JOB_OBJECT_UILIMIT_DISPLAYSETTINGS 0x0010
232#define JOB_OBJECT_UILIMIT_GLOBALATOMS 0x0020
233#define JOB_OBJECT_UILIMIT_DESKTOP 0x0040
234#define JOB_OBJECT_UILIMIT_EXITWINDOWS 0x0080
235#define JOB_OBJECT_UILIMIT_ALL 0x00FF
236#define JOB_OBJECT_UILIMIT_VALID_FLAGS 0x00FF
237
238//
239// Job Security Limit Flags
240//
241#define JOB_OBJECT_SECURITY_NO_ADMIN 0x0001
242#define JOB_OBJECT_SECURITY_RESTRICTED_TOKEN 0x0002
243#define JOB_OBJECT_SECURITY_ONLY_TOKEN 0x0004
244#define JOB_OBJECT_SECURITY_FILTER_TOKENS 0x0008
245
246//
247// Job Messages
248//
249#define JOB_OBJECT_MSG_END_OF_JOB_TIME 1
250#define JOB_OBJECT_MSG_END_OF_PROCESS_TIME 2
251#define JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT 3
252#define JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO 4
253#define JOB_OBJECT_MSG_NEW_PROCESS 6
254#define JOB_OBJECT_MSG_EXIT_PROCESS 7
255#define JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS 8
256#define JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT 9
257#define JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 10
258#define JOB_OBJECT_MSG_NOTIFICATION_LIMIT 11
259#define JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT 12
260
261//
262// Cross Thread Flags
263//
264#define CT_TERMINATED_BIT 0x1
265#define CT_DEAD_THREAD_BIT 0x2
266#define CT_HIDE_FROM_DEBUGGER_BIT 0x4
267#define CT_ACTIVE_IMPERSONATION_INFO_BIT 0x8
268#define CT_SYSTEM_THREAD_BIT 0x10
269#define CT_HARD_ERRORS_ARE_DISABLED_BIT 0x20
270#define CT_BREAK_ON_TERMINATION_BIT 0x40
271#define CT_SKIP_CREATION_MSG_BIT 0x80
272#define CT_SKIP_TERMINATION_MSG_BIT 0x100
273
274//
275// Same Thread Passive Flags
276//
277#define STP_ACTIVE_EX_WORKER_BIT 0x1
278#define STP_EX_WORKER_CAN_WAIT_USER_BIT 0x2
279#define STP_MEMORY_MAKER_BIT 0x4
280#define STP_KEYED_EVENT_IN_USE_BIT 0x8
281
282//
283// Same Thread APC Flags
284//
285#define STA_LPC_RECEIVED_MSG_ID_VALID_BIT 0x1
286#define STA_LPC_EXIT_THREAD_CALLED_BIT 0x2
287#define STA_ADDRESS_SPACE_OWNER_BIT 0x4
288#define STA_OWNS_WORKING_SET_BITS 0x1F8
289
290//
291// Kernel Process flags (maybe in ketypes.h?)
292//
293#define KPSF_AUTO_ALIGNMENT_BIT 0
294#define KPSF_DISABLE_BOOST_BIT 1
295
296//
297// Process Flags
298//
299#define PSF_CREATE_REPORTED_BIT 0x1
300#define PSF_NO_DEBUG_INHERIT_BIT 0x2
301#define PSF_PROCESS_EXITING_BIT 0x4
302#define PSF_PROCESS_DELETE_BIT 0x8
303#define PSF_WOW64_SPLIT_PAGES_BIT 0x10
304#define PSF_VM_DELETED_BIT 0x20
305#define PSF_OUTSWAP_ENABLED_BIT 0x40
306#define PSF_OUTSWAPPED_BIT 0x80
307#define PSF_FORK_FAILED_BIT 0x100
308#define PSF_WOW64_VA_SPACE_4GB_BIT 0x200
309#define PSF_ADDRESS_SPACE_INITIALIZED_BIT 0x400
310#define PSF_SET_TIMER_RESOLUTION_BIT 0x1000
311#define PSF_BREAK_ON_TERMINATION_BIT 0x2000
312#define PSF_SESSION_CREATION_UNDERWAY_BIT 0x4000
313#define PSF_WRITE_WATCH_BIT 0x8000
314#define PSF_PROCESS_IN_SESSION_BIT 0x10000
315#define PSF_OVERRIDE_ADDRESS_SPACE_BIT 0x20000
316#define PSF_HAS_ADDRESS_SPACE_BIT 0x40000
317#define PSF_LAUNCH_PREFETCHED_BIT 0x80000
318#define PSF_INJECT_INPAGE_ERRORS_BIT 0x100000
319#define PSF_VM_TOP_DOWN_BIT 0x200000
320#define PSF_IMAGE_NOTIFY_DONE_BIT 0x400000
321#define PSF_PDE_UPDATE_NEEDED_BIT 0x800000
322#define PSF_VDM_ALLOWED_BIT 0x1000000
323#define PSF_SWAP_ALLOWED_BIT 0x2000000
324#define PSF_CREATE_FAILED_BIT 0x4000000
325#define PSF_DEFAULT_IO_PRIORITY_BIT 0x8000000
326
327//
328// Vista Process Flags
329//
330#define PSF2_PROTECTED_BIT 0x800
331#endif
332
333//
334// TLS/FLS Defines
335//
336#define TLS_EXPANSION_SLOTS 1024
337
338#ifdef NTOS_MODE_USER
339//
340// Thread Native Base Priorities
341//
342#define LOW_PRIORITY 0
343#define LOW_REALTIME_PRIORITY 16
344#define HIGH_PRIORITY 31
345#define MAXIMUM_PRIORITY 32
346
347//
348// Current Process/Thread built-in 'special' handles
349//
350#define NtCurrentProcess() ((HANDLE)(LONG_PTR)-1)
351#define ZwCurrentProcess() NtCurrentProcess()
352#define NtCurrentThread() ((HANDLE)(LONG_PTR)-2)
353#define ZwCurrentThread() NtCurrentThread()
354
355//
356// Process/Thread/Job Information Classes for NtQueryInformationProcess/Thread/Job
357//
358typedef enum _PROCESSINFOCLASS
359{
409
410typedef enum _THREADINFOCLASS
411{
440
441 // Windows 7
442 ThreadCSwitchPmu, // 0x1C
448
449 // Windows 8
451
452 // Windows 8.1
453 ThreadSuspendCount, // 0x23
454
455 // Windows 10
462
477
480
481#else
482
484{
489
491{
504
505//
506// Power Event Events for Win32K Power Event Callback
507//
509{
524
525//
526// Power State Tasks for Win32K Power State Callback
527//
528typedef enum _POWERSTATETASK
529{
547
548//
549// Win32K Job Callback Types
550//
552{
557
558//
559// Win32K Thread Callback Types
560//
562{
566
567//
568// Declare empty structure definitions so that they may be
569// referenced by routines before they are defined.
570//
571//struct _EPROCESS;
572//struct _ETHREAD;
581
582//
583// Win32K Process and Thread Callbacks
584//
585typedef
588 _In_ struct _EPROCESS *Process,
590);
591
592typedef
595 _In_ struct _ETHREAD *Thread,
597);
598
599typedef
602 VOID
603);
604
605typedef
609);
610
611typedef
615);
616
617typedef
621);
622
623typedef
626 VOID
627);
628
629typedef
633);
634
635typedef
639);
640
641typedef
645);
646
647typedef
651);
652
653typedef
657);
658
659typedef
663);
664
665#if (NTDDI_VERSION >= NTDDI_LONGHORN)
666typedef
669 _In_ struct _EPROCESS *Process,
672);
673#endif
674
675//
676// Lego Callback
677//
678typedef
682);
683
684#endif
685
686typedef NTSTATUS
688 VOID
689);
690
691//
692// Descriptor Table Entry Definition
693//
694#if (_M_IX86)
695#define _DESCRIPTOR_TABLE_ENTRY_DEFINED
696typedef struct _DESCRIPTOR_TABLE_ENTRY
697{
698 ULONG Selector;
700} DESCRIPTOR_TABLE_ENTRY, *PDESCRIPTOR_TABLE_ENTRY;
701#endif
702
703//
704// PEB Lock Routine
705//
706typedef VOID
708 PVOID PebLock
709);
710
711//
712// PEB Free Block Descriptor
713//
714typedef struct _PEB_FREE_BLOCK
715{
716 struct _PEB_FREE_BLOCK* Next;
717 ULONG Size;
719
720//
721// Initial PEB
722//
723typedef struct _INITIAL_PEB
724{
728 union
729 {
731#if (NTDDI_VERSION >= NTDDI_WS03)
732 struct
733 {
735#if (NTDDI_VERSION >= NTDDI_LONGHORN)
739#else
741#endif
742 };
743#else
744 BOOLEAN SpareBool;
745#endif
746 };
749
750//
751// Initial TEB
752//
753typedef struct _INITIAL_TEB
754{
761
762//
763// TEB Active Frame Structures
764//
766{
771
773{
778
779typedef struct _TEB_ACTIVE_FRAME
780{
786
788{
793
794typedef struct _CLIENT_ID32
795{
799
800typedef struct _CLIENT_ID64
801{
805
806#if (NTDDI_VERSION < NTDDI_WS03)
807typedef struct _Wx86ThreadState
808{
809 PULONG CallBx86Eip;
810 PVOID DeallocationCpu;
811 BOOLEAN UseKnownWx86Dll;
812 CHAR OleStubInvoked;
813} Wx86ThreadState, *PWx86ThreadState;
814#endif
815
816//
817// PEB.AppCompatFlags.LowPart
818// Tag FLAG_MASK_KERNEL
819//
821{
848 DoNotAddToCache = 0x80000000,
850
851//
852// PEB.AppCompatFlags.HighPart
853// Tag FLAG_MASK_KERNEL
854//
856{
858
859 // ReactOS-specific
860 RendererFull3D = 0x80000000, // CORE-20322
862
863
864//
865// PEB.AppCompatFlagsUser.LowPart
866// Tag FLAG_MASK_USER
867//
869{
888 NoDdeSync = 0x40000,
889 NoGhost = 0x80000,
890 NoDdeAsyncReg = 0x100000,
891 StrictLLHook = 0x200000,
892 NoShadow = 0x400000,
894 HighDpiAware = 0x2000000,
895 OpenGLEmfAware = 0x4000000,
897 NoPaddedBorder = 0x10000000,
899 HardwareAudioMixer = 0x40000000,
902
903//
904// PEB.AppCompatFlagsUser.HighPart
905// Tag FLAG_MASK_USER
906//
908{
932 DPIUnaware = 0x800000,
933 NoVirtWndRects = 0x1000000,
936 GdiDPIScaling = 0x8000000,
941
942//
943// Process Environment Block (PEB)
944// Thread Environment Block (TEB)
945//
946#include "peb_teb.h"
947
948#ifdef _WIN64
949//
950// Explicit 32 bit PEB/TEB
951//
952#define EXPLICIT_32BIT
953#include "peb_teb.h"
954#undef EXPLICIT_32BIT
955
956//
957// Explicit 64 bit PEB/TEB
958//
959#define EXPLICIT_64BIT
960#include "peb_teb.h"
961#undef EXPLICIT_64BIT
962
963//
964// WOW64 Macros
965//
966#if defined(BUILD_WOW64_ENABLED)
967
968#define PS_GET_TEB32_FROM_TEB(Teb) ((PTEB32)(ROUND_TO_PAGES((Teb) + 1)))
969#define PS_GET_PEB32_FROM_PEB(Peb) ((PPEB32)(ROUND_TO_PAGES((Peb) + 1)))
970
971#define IS_WOW64_PROCESS_INITIALIZING(Process) ((Process)->Wow64Process == UlongToPtr(1))
972#endif
973
974#endif
975
976#ifdef NTOS_MODE_USER
977
978//
979// Process Information Structures for NtQueryProcessInformation
980//
981typedef struct _PROCESS_BASIC_INFORMATION
982{
990
991typedef struct _PROCESS_ACCESS_TOKEN
992{
996
998{
999 union
1000 {
1001 struct
1002 {
1004 } Set;
1005 struct
1006 {
1008 UCHAR DriveType[32];
1009 } Query;
1010 };
1012
1013typedef struct _KERNEL_USER_TIMES
1014{
1020
1021typedef struct _POOLED_USAGE_AND_LIMITS
1022{
1033
1034typedef struct _PROCESS_WS_WATCH_INFORMATION
1035{
1039
1040typedef struct _PROCESS_SESSION_INFORMATION
1041{
1044
1045typedef struct _PROCESS_HANDLE_TRACING_ENTRY
1046{
1047 HANDLE Handle;
1049 ULONG Type;
1052
1053typedef struct _PROCESS_HANDLE_TRACING_QUERY
1054{
1055 HANDLE Handle;
1059
1060#endif
1061
1063{
1068
1069typedef struct _PROCESS_LDT_SIZE
1070{
1073
1075{
1079
1080// Compatibility with windows, see CORE-16757, CORE-17106, CORE-17247
1082
1084{
1087
1088//
1089// Apphelp SHIM Cache
1090//
1092{
1098
1102
1103
1105{
1109
1110
1111//
1112// Thread Information Structures for NtQueryProcessInformation
1113//
1114typedef struct _THREAD_BASIC_INFORMATION
1115{
1123
1125{
1128
1129#ifndef NTOS_MODE_USER
1130
1131//
1132// Job Set Array
1133//
1134typedef struct _JOB_SET_ARRAY
1135{
1140
1141//
1142// Process Quota Type
1143//
1144typedef enum _PS_QUOTA_TYPE
1145{
1149#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1151#endif
1152#if (NTDDI_VERSION == NTDDI_LONGHORN)
1154#endif
1157
1158//
1159// EPROCESS Quota Structures
1160//
1162{
1168
1170{
1176
1177//
1178// Process Pagefault History
1179//
1181{
1188
1189//
1190// Process Impersonation Information
1191//
1193{
1199
1200//
1201// Process Termination Port
1202//
1203typedef struct _TERMINATION_PORT
1204{
1208
1209//
1210// Per-Process APC Rate Limiting
1211//
1212typedef struct _PSP_RATE_APC
1213{
1214 union
1215 {
1218 };
1222
1223//
1224// Executive Thread (ETHREAD)
1225//
1226typedef struct _ETHREAD
1227{
1230 union
1231 {
1235 };
1236 union
1237 {
1240 };
1242 union
1243 {
1247#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1249#endif
1250 };
1254#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1256#else
1257 union
1258 {
1259 KSEMAPHORE LpcReplySemaphore;
1261 };
1262 union
1263 {
1264 PVOID LpcReplyMessage;
1265 PVOID LpcWaitingOnPort;
1266 };
1267#endif
1272#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1274#else
1275 struct _EPROCESS *ThreadsProcess;
1276#endif
1278 union
1279 {
1282 };
1286#if (NTDDI_VERSION < NTDDI_LONGHORN)
1287 ULONG LpcReplyMessageId;
1288#endif
1290#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1292#else
1294#endif
1295 union
1296 {
1297 struct
1298 {
1300#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1302#else
1303 ULONG DeadThread:1;
1304#endif
1312#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1317#endif
1318 };
1320 };
1321 union
1322 {
1323 struct
1324 {
1329#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1331#endif
1332 };
1334 };
1335 union
1336 {
1337 struct
1338 {
1341#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1343#else
1344 ULONG AddressSpaceOwner:1;
1345#endif
1352#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1356#else
1357 ULONG ApcNeeded:1;
1358#endif
1359 };
1361 };
1362#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1364#else
1365 UCHAR ForwardClusterOnly;
1366#endif
1369#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1371 union
1372 {
1375 };
1379#endif
1380 // TODO: Missing Vista+ members
1381#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) || defined(__REACTOS__)
1383 // TODO: Missing Win10+ members
1384#endif
1385#if defined(__REACTOS__)
1386 // Temp HACK until we switch to NTDDI_VISTA, when these move to KTHREAD
1387 volatile ULONGLONG CycleTime;
1388#ifndef _WIN64
1389 volatile ULONG CycleTimeHigh;
1390#endif
1391#endif
1393
1394//
1395// Executive Process (EPROCESS)
1396//
1397typedef struct _EPROCESS
1398{
1413#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1414 union
1415 {
1419 };
1420#else
1421 PVOID ExceptionPort;
1422#endif
1426#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1429#else
1431 KSPIN_LOCK HyperSpaceLock;
1432#endif
1440 struct _EJOB *Job;
1451#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1454#else
1455 PVOID Spare0[3];
1456#endif
1457 union
1458 {
1461 };
1468#ifdef _M_AMD64
1469 struct _WOW64_PROCESS *Wow64Process;
1470#else
1472#endif
1474#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1476#else
1478#endif
1481 struct _PEB* Peb;
1494#ifdef _M_AMD64
1495 ULONG Spares[2];
1496#else
1498#endif
1500#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1501 union
1502 {
1503 struct
1504 {
1520 };
1522 };
1523#else
1524 ULONG JobStatus;
1525#endif
1526 union
1527 {
1528 struct
1529 {
1543#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1545#else
1546 ULONG SessionCreationUnderway:1;
1547#endif
1559#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1561#else
1562 ULONG CreateFailed:1;
1563#endif
1565#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1567#else
1568 ULONG Spare1:1;
1569 ULONG Spare2:1;
1570#endif
1571 };
1573 };
1575#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1577#else
1578 USHORT NextPageColor;
1579#endif
1580 union
1581 {
1582 struct
1583 {
1586 };
1588 };
1592#if defined(__REACTOS__)
1593 // Temp HACK until we switch to NTDDI_VISTA, when this moves to KPROCESS
1595#endif // ]
1597
1598//
1599// Job Token Filter Data
1600//
1602{
1613
1614//
1615// Executive Job (EJOB)
1616//
1617typedef struct _EJOB
1618{
1660#if (NTDDI_VERSION >= NTDDI_WINXP) && (NTDDI_VERSION < NTDDI_WS03)
1662#elif (NTDDI_VERSION >= NTDDI_WS03) && (NTDDI_VERSION < NTDDI_LONGHORN)
1664#elif (NTDDI_VERSION >= NTDDI_LONGHORN)
1666#endif
1671
1672//
1673// Job Information Structures for NtQueryInformationJobObject
1674//
1675
1677{
1687
1689{
1700
1702{
1707
1709{
1712
1714{
1721
1723{
1726
1728{
1732
1734{
1738
1740{
1748
1749
1750//
1751// Win32K Callback Registration Data
1752//
1754{
1758
1760{
1767
1769{
1774
1776{
1783
1785{
1791
1793{
1800
1802{
1805
1807{
1819
1821{
1838#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1840#endif
1842
1843#endif // !NTOS_MODE_USER
1844
1845#ifdef __cplusplus
1846}; // extern "C"
1847#endif
1848
1849#endif // _PSTYPES_H
ULONG_PTR PFN_NUMBER
Type
Definition: Type.h:7
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
@ Create
Definition: registry.c:563
#define NTSYSAPI
Definition: ntoskrnl.h:12
_PROCESSINFOCLASS
Definition: cicbase.cpp:62
@ ProcessDebugPort
Definition: cicbase.cpp:64
@ ProcessBreakOnTermination
Definition: cicbase.cpp:67
@ ProcessBasicInformation
Definition: cicbase.cpp:63
@ ProcessWow64Information
Definition: cicbase.cpp:65
@ ProcessImageFileName
Definition: cicbase.cpp:66
enum _PROCESSINFOCLASS PROCESSINFOCLASS
Definition: loader.c:66
_In_ HANDLE _In_ CONST PDXGKMDT_OPM_GET_INFO_PARAMETERS Parameters
Definition: dispmprt.h:321
_In_ ULONG _In_ ULONG _In_opt_ DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Callback
Definition: dispmprt.h:620
#define NTSTATUS
Definition: precomp.h:19
ULONG_PTR KAFFINITY
Definition: compat.h:85
_THREADINFOCLASS
Definition: compat.h:934
@ ThreadEnableAlignmentFaultFixup
Definition: compat.h:942
@ ThreadCSwitchPmu
Definition: compat.h:963
@ ThreadDescriptorTableEntry
Definition: compat.h:941
@ ThreadEventPair_Reusable
Definition: compat.h:943
@ ThreadIdealProcessorEx
Definition: compat.h:968
@ ThreadAmILastThread
Definition: compat.h:947
@ ThreadTimes
Definition: compat.h:936
@ ThreadPagePriority
Definition: compat.h:959
@ ThreadUmsInformation
Definition: compat.h:966
@ ThreadCSwitchMon
Definition: compat.h:962
@ ThreadPriority
Definition: compat.h:937
@ MaxThreadInfoClass
Definition: compat.h:969
@ ThreadIdealProcessor
Definition: compat.h:948
@ ThreadActualBasePriority
Definition: compat.h:960
@ ThreadGroupInformation
Definition: compat.h:965
@ ThreadSwitchLegacyState
Definition: compat.h:954
@ ThreadQuerySetWin32StartAddress
Definition: compat.h:944
@ ThreadIsTerminated
Definition: compat.h:955
@ ThreadLastSystemCall
Definition: compat.h:956
@ ThreadBreakOnTermination
Definition: compat.h:953
@ ThreadImpersonationToken
Definition: compat.h:940
@ ThreadSetTlsArrayAddress
Definition: compat.h:950
@ ThreadAffinityMask
Definition: compat.h:939
@ ThreadBasePriority
Definition: compat.h:938
@ ThreadTebInformation
Definition: compat.h:961
@ ThreadIoPriority
Definition: compat.h:957
@ ThreadCycleTime
Definition: compat.h:958
@ ThreadBasicInformation
Definition: compat.h:935
@ ThreadCounterProfiling
Definition: compat.h:967
@ ThreadPriorityBoost
Definition: compat.h:949
@ ThreadPerformanceCount
Definition: compat.h:946
@ ThreadIsIoPending
Definition: compat.h:951
@ ThreadZeroTlsCell
Definition: compat.h:945
@ ThreadWow64Context
Definition: compat.h:964
@ ThreadHideFromDebugger
Definition: compat.h:952
enum _THREADINFOCLASS THREADINFOCLASS
Definition: thread.c:99
LONG KPRIORITY
Definition: compat.h:803
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
ULONG ERESOURCE
Definition: env_spec_w32.h:594
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
struct _PAGEFAULT_HISTORY * PPAGEFAULT_HISTORY
struct _PROCESS_PRIORITY_CLASS PROCESS_PRIORITY_CLASS
struct _WIN32_JOBCALLOUT_PARAMETERS WIN32_JOBCALLOUT_PARAMETERS
struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION * PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION
struct _EPROCESS EPROCESS
struct _INITIAL_TEB INITIAL_TEB
const struct _TEB_ACTIVE_FRAME_CONTEXT * PCTEB_ACTIVE_FRAME_CONTEXT
Definition: pstypes.h:770
_PSPOWEREVENTTYPE
Definition: pstypes.h:509
@ PsW32DisplayState
Definition: pstypes.h:515
@ PsW32GdiOffRequest
Definition: pstypes.h:521
@ PsW32SetStateFailed
Definition: pstypes.h:517
@ PsW32PowerPolicyChanged
Definition: pstypes.h:512
@ PsW32GdiPrepareResumeUI
Definition: pstypes.h:520
@ PsW32CapabilitiesChanged
Definition: pstypes.h:516
@ PsW32GdiOff
Definition: pstypes.h:518
@ PsW32SystemPowerState
Definition: pstypes.h:513
@ PsW32MonitorOff
Definition: pstypes.h:522
@ PsW32GdiOn
Definition: pstypes.h:519
@ PsW32FullWake
Definition: pstypes.h:510
@ PsW32EventCode
Definition: pstypes.h:511
@ PsW32SystemTime
Definition: pstypes.h:514
struct _WIN32_CLOSEMETHOD_PARAMETERS * PWIN32_CLOSEMETHOD_PARAMETERS
struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION PJOBOBJECT_END_OF_JOB_TIME_INFORMATION
enum _APPCOMPAT_USERFLAGS_HIGHPART APPCOMPAT_USERFLAGS_HIGHPART
struct _TERMINATION_PORT * PTERMINATION_PORT
NTSTATUS(NTAPI * PKWIN32_SESSION_CALLOUT)(_In_ PVOID Parameter)
Definition: pstypes.h:661
struct _EPROCESS_QUOTA_ENTRY * PEPROCESS_QUOTA_ENTRY
struct _JOBOBJECT_BASIC_UI_RESTRICTIONS JOBOBJECT_BASIC_UI_RESTRICTIONS
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
struct _PS_JOB_TOKEN_FILTER PS_JOB_TOKEN_FILTER
struct _TERMINATION_PORT TERMINATION_PORT
_APPCOMPAT_USERFLAGS_HIGHPART
Definition: pstypes.h:908
@ NoGdiHwAcceleration
Definition: pstypes.h:911
@ NoDTToDITMouseBatch
Definition: pstypes.h:935
@ PreventMouseInPointer
Definition: pstypes.h:920
@ Disable8And16BitModes
Definition: pstypes.h:917
@ _8And16BitNoIncRefCount
Definition: pstypes.h:924
@ GdiDPIScalingForceDisable
Definition: pstypes.h:939
@ NoTimerCoalescing
Definition: pstypes.h:912
@ _8And16BitGDIRedraw
Definition: pstypes.h:922
@ DPIUnaware
Definition: pstypes.h:932
@ DisableFocusTracking
Definition: pstypes.h:938
@ ReorderWaveForCommunications
Definition: pstypes.h:910
@ GdiDPIScaling
Definition: pstypes.h:936
@ DisableWindowArrangement
Definition: pstypes.h:909
@ _8And16BitTimedPriSync
Definition: pstypes.h:927
@ EarlyMouseDelegation
Definition: pstypes.h:926
@ _8And16BitCopyOnFlip
Definition: pstypes.h:923
@ CFDNoRedirectInitialFolder
Definition: pstypes.h:934
@ _8And16BitAggregateBlts
Definition: pstypes.h:921
@ PerProcessSystemDPIForceOff
Definition: pstypes.h:931
@ UseWARPRendering
Definition: pstypes.h:914
@ UseIntegratedGraphics
Definition: pstypes.h:928
@ UseLegacyMouseWheelRouting
Definition: pstypes.h:929
@ NoVirtWndRects
Definition: pstypes.h:933
@ QueueMouseMoveOnReleaseCapture
Definition: pstypes.h:937
@ PromotePointer
Definition: pstypes.h:919
@ InstallShieldInstaller
Definition: pstypes.h:916
@ MirrorDriverDrawCursor
Definition: pstypes.h:915
@ PerProcessSystemDPIForceOn
Definition: pstypes.h:930
@ Disable8And16BitD3D
Definition: pstypes.h:918
@ _8And16BitDXMaxWinMode
Definition: pstypes.h:925
@ PrinterIsolationAware
Definition: pstypes.h:913
struct _PSP_RATE_APC * PPSP_RATE_APC
struct _PROCESS_PRIORITY_CLASS * PPROCESS_PRIORITY_CLASS
VOID(NTAPI * PLEGO_NOTIFY_ROUTINE)(_In_ PKTHREAD Thread)
Definition: pstypes.h:680
struct _PS_IMPERSONATION_INFORMATION * PPS_IMPERSONATION_INFORMATION
struct _PAGEFAULT_HISTORY PAGEFAULT_HISTORY
const struct _TEB_ACTIVE_FRAME * PCTEB_ACTIVE_FRAME
Definition: pstypes.h:785
NTSTATUS(NTAPI * PKWIN32_PROCESS_CALLOUT)(_In_ struct _EPROCESS *Process, _In_ BOOLEAN Create)
Definition: pstypes.h:587
struct _EPROCESS_QUOTA_BLOCK * PEPROCESS_QUOTA_BLOCK
struct _CLIENT_ID32 CLIENT_ID32
const struct _TEB_ACTIVE_FRAME_CONTEXT_EX * PCTEB_ACTIVE_FRAME_CONTEXT_EX
Definition: pstypes.h:777
struct _INITIAL_PEB * PINITIAL_PEB
struct _TEB_ACTIVE_FRAME_EX TEB_ACTIVE_FRAME_EX
enum _PSW32THREADCALLOUTTYPE PSW32THREADCALLOUTTYPE
_APPCOMPAT_FLAGS_HIGHPART
Definition: pstypes.h:856
@ RendererFull3D
Definition: pstypes.h:860
@ PosixDeleteDisabled
Definition: pstypes.h:857
struct _WIN32_POWERSTATE_PARAMETERS WIN32_POWERSTATE_PARAMETERS
struct _JOBOBJECT_BASIC_PROCESS_ID_LIST JOBOBJECT_BASIC_PROCESS_ID_LIST
_PSW32JOBCALLOUTTYPE
Definition: pstypes.h:552
@ PsW32JobCalloutTerminate
Definition: pstypes.h:555
@ PsW32JobCalloutAddProcess
Definition: pstypes.h:554
@ PsW32JobCalloutSetInformation
Definition: pstypes.h:553
struct _WIN32_PARSEMETHOD_PARAMETERS * PWIN32_PARSEMETHOD_PARAMETERS
enum _PSW32JOBCALLOUTTYPE PSW32JOBCALLOUTTYPE
struct _WIN32_DELETEMETHOD_PARAMETERS WIN32_DELETEMETHOD_PARAMETERS
enum _APPCOMPAT_FLAGS_HIGHPART APPCOMPAT_FLAGS_HIGHPART
enum _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS
struct _PROCESS_LDT_INFORMATION PROCESS_LDT_INFORMATION
struct _WIN32_POWEREVENT_PARAMETERS WIN32_POWEREVENT_PARAMETERS
struct _TEB_ACTIVE_FRAME_CONTEXT * PTEB_ACTIVE_FRAME_CONTEXT
struct _TEB_ACTIVE_FRAME * PTEB_ACTIVE_FRAME
NTSTATUS(NTAPI * PKWIN32_PARSEMETHOD_CALLOUT)(_In_ struct _WIN32_PARSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:655
_APPCOMPAT_FLAGS
Definition: pstypes.h:821
@ UserDisableForwarderPatch
Definition: pstypes.h:836
@ EnableLegacyNTFSFlagsForDocfileOpens
Definition: pstypes.h:834
@ FTMFromCurrentAPI
Definition: pstypes.h:824
@ GetShortPathNameNT4
Definition: pstypes.h:822
@ DisableParallelLoader
Definition: pstypes.h:845
@ GetDiskFreeSpace2GB
Definition: pstypes.h:823
@ DisableCicero
Definition: pstypes.h:827
@ AllowMaximizedWindowGamma
Definition: pstypes.h:841
@ DoNotAddToCache
Definition: pstypes.h:848
@ DisallowCOMBindingNotifications
Definition: pstypes.h:825
@ DisableMaybeNULLSizeisConsistencycheck
Definition: pstypes.h:831
@ DisableAdvancedRPCrangeCheck
Definition: pstypes.h:832
@ AddRestrictedSidInCoInitializeSecurity
Definition: pstypes.h:838
@ DisguisePlaceholders
Definition: pstypes.h:846
@ CloudFilesFullHydrationOnOpen
Definition: pstypes.h:843
@ EnableLegacyExceptionHandlinginOLE
Definition: pstypes.h:829
@ CloudFilesHydrationInForeground
Definition: pstypes.h:847
@ Ole32ValidatePointers
Definition: pstypes.h:826
@ CloudFilesFullHydration
Definition: pstypes.h:844
@ DisableNDRIIDConsistencyCheck
Definition: pstypes.h:835
@ DisableNewWMPAINTDispatchInOLE
Definition: pstypes.h:837
@ Ole32EnableAsyncDocFile
Definition: pstypes.h:828
@ AllocDebugInfoForCritSections
Definition: pstypes.h:839
@ DisableAdvanceRPCClientHardening
Definition: pstypes.h:830
@ CloudFilesHydrationDisallowed
Definition: pstypes.h:842
@ EnableLegacyLoadTypeLibForRelativePaths
Definition: pstypes.h:840
@ EnableLegacyExceptionHandlingInRPC
Definition: pstypes.h:833
struct _EJOB EJOB
enum _APPHELPCACHESERVICECLASS APPHELPCACHESERVICECLASS
struct _WIN32_CALLOUTS_FPNS WIN32_CALLOUTS_FPNS
struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS * PWIN32_OKAYTOCLOSEMETHOD_PARAMETERS
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION * PJOBOBJECT_BASIC_LIMIT_INFORMATION
struct _WIN32_DELETEMETHOD_PARAMETERS * PWIN32_DELETEMETHOD_PARAMETERS
struct _TEB_ACTIVE_FRAME TEB_ACTIVE_FRAME
struct _CLIENT_ID64 CLIENT_ID64
struct _EJOB * PEJOB
NTSTATUS(NTAPI * PKWIN32_JOB_CALLOUT)(_In_ struct _WIN32_JOBCALLOUT_PARAMETERS *Parameters)
Definition: pstypes.h:619
enum _PSPROCESSPRIORITYMODE PSPROCESSPRIORITYMODE
struct _CLIENT_ID32 * PCLIENT_ID32
struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION JOBOBJECT_SECURITY_LIMIT_INFORMATION
struct _PROCESS_LDT_SIZE PROCESS_LDT_SIZE
struct _WIN32_JOBCALLOUT_PARAMETERS * PWIN32_JOBCALLOUT_PARAMETERS
struct _APPHELP_CACHE_SERVICE_LOOKUP APPHELP_CACHE_SERVICE_LOOKUP
NTSTATUS(NTAPI * PPOST_PROCESS_INIT_ROUTINE)(VOID)
Definition: pstypes.h:687
enum _APPCOMPAT_USERFLAGS APPCOMPAT_USERFLAGS
struct _JOB_SET_ARRAY * PJOB_SET_ARRAY
struct _THREAD_NAME_INFORMATION THREAD_NAME_INFORMATION
struct _WIN32_OPENMETHOD_PARAMETERS * PWIN32_OPENMETHOD_PARAMETERS
_APPHELPCACHESERVICECLASS
Definition: pstypes.h:1092
@ ApphelpDBGReadRegistry
Definition: pstypes.h:1099
@ ApphelpCacheServiceLookup
Definition: pstypes.h:1093
@ ApphelpCacheServiceRemove
Definition: pstypes.h:1094
@ ApphelpCacheServiceUpdate
Definition: pstypes.h:1095
@ ApphelpCacheServiceDump
Definition: pstypes.h:1097
@ ApphelpDBGWriteRegistry
Definition: pstypes.h:1100
@ ApphelpCacheServiceFlush
Definition: pstypes.h:1096
struct _JOBOBJECT_BASIC_PROCESS_ID_LIST * PJOBOBJECT_BASIC_PROCESS_ID_LIST
struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION JOBOBJECT_END_OF_JOB_TIME_INFORMATION
struct _TEB_ACTIVE_FRAME_EX * PTEB_ACTIVE_FRAME_EX
struct _APPHELP_CACHE_SERVICE_LOOKUP * PAPPHELP_CACHE_SERVICE_LOOKUP
struct _PSP_RATE_APC PSP_RATE_APC
struct _PROCESS_LDT_SIZE * PPROCESS_LDT_SIZE
NTSTATUS(NTAPI * PKWIN32_OPENMETHOD_CALLOUT)(_In_ struct _WIN32_OPENMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:631
struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION * PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
_PSPROCESSPRIORITYMODE
Definition: pstypes.h:484
@ PsProcessPrioritySpinning
Definition: pstypes.h:487
@ PsProcessPriorityForeground
Definition: pstypes.h:485
@ PsProcessPriorityBackground
Definition: pstypes.h:486
enum _PS_QUOTA_TYPE PS_QUOTA_TYPE
struct _THREAD_NAME_INFORMATION * PTHREAD_NAME_INFORMATION
struct _EPROCESS_QUOTA_ENTRY EPROCESS_QUOTA_ENTRY
struct _INITIAL_TEB * PINITIAL_TEB
struct _WIN32_POWERSTATE_PARAMETERS * PWIN32_POWERSTATE_PARAMETERS
NTSTATUS(NTAPI * PKWIN32_GLOBALATOMTABLE_CALLOUT)(VOID)
Definition: pstypes.h:601
struct _WIN32_OPENMETHOD_PARAMETERS WIN32_OPENMETHOD_PARAMETERS
_JOBOBJECTINFOCLASS
Definition: pstypes.h:491
@ JobObjectAssociateCompletionPortInformation
Definition: pstypes.h:498
@ JobObjectBasicLimitInformation
Definition: pstypes.h:493
@ JobObjectBasicAndIoAccountingInformation
Definition: pstypes.h:499
@ JobObjectBasicAccountingInformation
Definition: pstypes.h:492
@ JobObjectSecurityLimitInformation
Definition: pstypes.h:496
@ JobObjectExtendedLimitInformation
Definition: pstypes.h:500
@ JobObjectEndOfJobTimeInformation
Definition: pstypes.h:497
@ JobObjectBasicUIRestrictions
Definition: pstypes.h:495
@ JobObjectBasicProcessIdList
Definition: pstypes.h:494
@ MaxJobObjectInfoClass
Definition: pstypes.h:502
@ JobObjectJobSetInformation
Definition: pstypes.h:501
struct _THREAD_BASIC_INFORMATION * PTHREAD_BASIC_INFORMATION
enum _APPCOMPAT_FLAGS APPCOMPAT_FLAGS
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION
struct _ETHREAD ETHREAD
struct _CLIENT_ID64 * PCLIENT_ID64
struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_ACCOUNTING_INFORMATION
struct _PROCESS_LDT_INFORMATION * PPROCESS_LDT_INFORMATION
POBJECT_TYPE NTSYSAPI PsJobType
Definition: job.c:23
enum _PSPOWEREVENTTYPE PSPOWEREVENTTYPE
_APPCOMPAT_USERFLAGS
Definition: pstypes.h:869
@ OpenGLEmfAware
Definition: pstypes.h:895
@ No50StylebitsInSetWindowLong
Definition: pstypes.h:872
@ HighDpiAware
Definition: pstypes.h:894
@ HardwareAudioMixer
Definition: pstypes.h:899
@ NoGhost
Definition: pstypes.h:889
@ NoPaddedBorder
Definition: pstypes.h:897
@ StrictLLHook
Definition: pstypes.h:891
@ UseDefaultCharset
Definition: pstypes.h:884
@ NoDdeSync
Definition: pstypes.h:888
@ NoMouseHideInEdit
Definition: pstypes.h:878
@ EnableTransparantBltMirror
Definition: pstypes.h:896
@ GiveupForeground
Definition: pstypes.h:876
@ FontSubstitution
Definition: pstypes.h:880
@ NoCharDeadKey
Definition: pstypes.h:885
@ DisableAnimation
Definition: pstypes.h:870
@ NoDdeAsyncReg
Definition: pstypes.h:890
@ No50StylebitsInCreateWindow
Definition: pstypes.h:881
@ DisableDrawPatternRect
Definition: pstypes.h:873
@ NoTryExceptForWindowProc
Definition: pstypes.h:886
@ NoCustomPaperSizes
Definition: pstypes.h:882
@ DisableSWCursorOnMoveSize
Definition: pstypes.h:900
@ NoShadow
Definition: pstypes.h:892
@ DisableKeyboardCues
Definition: pstypes.h:871
@ NoGdiBatching
Definition: pstypes.h:879
@ AlwaysActiveMenus
Definition: pstypes.h:877
@ NoDDETerminateDuringDestroy
Definition: pstypes.h:875
@ AllTheDdeHacks
Definition: pstypes.h:883
@ ForceLegacyResizeCM
Definition: pstypes.h:898
@ NoTimerCallbackProtection
Definition: pstypes.h:893
@ NoInitInsertReplaceFlags
Definition: pstypes.h:887
@ MSShellDialog
Definition: pstypes.h:874
struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS WIN32_OKAYTOCLOSEMETHOD_PARAMETERS
struct _TEB_ACTIVE_FRAME_CONTEXT TEB_ACTIVE_FRAME_CONTEXT
struct _WIN32_CLOSEMETHOD_PARAMETERS WIN32_CLOSEMETHOD_PARAMETERS
_PSW32THREADCALLOUTTYPE
Definition: pstypes.h:562
@ PsW32ThreadCalloutInitialize
Definition: pstypes.h:563
@ PsW32ThreadCalloutExit
Definition: pstypes.h:564
NTSTATUS(NTAPI * PKWIN32_WIN32DATACOLLECTION_CALLOUT)(_In_ struct _EPROCESS *Process, _In_ PVOID Callback, _In_ PVOID Context)
Definition: pstypes.h:668
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION
NTSTATUS(NTAPI * PKWIN32_POWERSTATE_CALLOUT)(_In_ struct _WIN32_POWERSTATE_PARAMETERS *Parameters)
Definition: pstypes.h:613
struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION * PJOBOBJECT_SECURITY_LIMIT_INFORMATION
NTSTATUS(NTAPI * PKWIN32_POWEREVENT_CALLOUT)(_In_ struct _WIN32_POWEREVENT_PARAMETERS *Parameters)
Definition: pstypes.h:607
const struct _TEB_ACTIVE_FRAME_EX * PCTEB_ACTIVE_FRAME_EX
Definition: pstypes.h:792
struct _PS_JOB_TOKEN_FILTER * PPS_JOB_TOKEN_FILTER
VOID(NTAPI * PPEBLOCKROUTINE)(PVOID PebLock)
Definition: pstypes.h:707
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION * PJOBOBJECT_EXTENDED_LIMIT_INFORMATION
struct _PEB_FREE_BLOCK PEB_FREE_BLOCK
struct _PEB_FREE_BLOCK * PPEB_FREE_BLOCK
struct _INITIAL_PEB INITIAL_PEB
NTSTATUS(NTAPI * PKWIN32_OKTOCLOSEMETHOD_CALLOUT)(_In_ struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:637
struct _TEB_ACTIVE_FRAME_CONTEXT_EX * PTEB_ACTIVE_FRAME_CONTEXT_EX
struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT * PJOBOBJECT_ASSOCIATE_COMPLETION_PORT
_PS_QUOTA_TYPE
Definition: pstypes.h:1145
@ PsQuotaTypes
Definition: pstypes.h:1155
@ PsNonPagedPool
Definition: pstypes.h:1146
@ PsCpuRate
Definition: pstypes.h:1153
@ PsWorkingSet
Definition: pstypes.h:1150
@ PsPageFile
Definition: pstypes.h:1148
@ PsPagedPool
Definition: pstypes.h:1147
NTSTATUS(NTAPI * PKWIN32_DELETEMETHOD_CALLOUT)(_In_ struct _WIN32_DELETEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:649
struct _EPROCESS_QUOTA_BLOCK EPROCESS_QUOTA_BLOCK
struct _PROCESS_FOREGROUND_BACKGROUND * PPROCESS_FOREGROUND_BACKGROUND
struct _WIN32_PARSEMETHOD_PARAMETERS WIN32_PARSEMETHOD_PARAMETERS
struct _PS_IMPERSONATION_INFORMATION PS_IMPERSONATION_INFORMATION
struct _JOB_SET_ARRAY JOB_SET_ARRAY
struct _WIN32_POWEREVENT_PARAMETERS * PWIN32_POWEREVENT_PARAMETERS
enum _POWERSTATETASK POWERSTATETASK
_POWERSTATETASK
Definition: pstypes.h:529
@ PowerState_NotifyWL
Definition: pstypes.h:539
@ PowerState_QueryServices
Definition: pstypes.h:533
@ PowerState_QueryAppsFailed
Definition: pstypes.h:534
@ PowerState_ResumeServices
Definition: pstypes.h:541
@ PowerState_BlockInput
Definition: pstypes.h:544
@ PowerState_BlockSessionSwitch
Definition: pstypes.h:530
@ PowerState_Init
Definition: pstypes.h:531
@ PowerState_ShowUI
Definition: pstypes.h:538
@ PowerState_UnblockInput
Definition: pstypes.h:545
@ PowerState_QueryApps
Definition: pstypes.h:532
@ PowerState_ResumeApps
Definition: pstypes.h:540
@ PowerState_SuspendServices
Definition: pstypes.h:537
@ PowerState_SuspendApps
Definition: pstypes.h:536
@ PowerState_UnBlockSessionSwitch
Definition: pstypes.h:542
@ PowerState_QueryServicesFailed
Definition: pstypes.h:535
@ PowerState_End
Definition: pstypes.h:543
NTSTATUS(NTAPI * PGDI_BATCHFLUSH_ROUTINE)(VOID)
Definition: pstypes.h:625
struct _TEB_ACTIVE_FRAME_CONTEXT_EX TEB_ACTIVE_FRAME_CONTEXT_EX
struct _PROCESS_FOREGROUND_BACKGROUND PROCESS_FOREGROUND_BACKGROUND
NTSTATUS(NTAPI * PKWIN32_THREAD_CALLOUT)(_In_ struct _ETHREAD *Thread, _In_ PSW32THREADCALLOUTTYPE Type)
Definition: pstypes.h:594
struct _JOBOBJECT_BASIC_UI_RESTRICTIONS * PJOBOBJECT_BASIC_UI_RESTRICTIONS
struct _WIN32_CALLOUTS_FPNS * PWIN32_CALLOUTS_FPNS
NTSTATUS(NTAPI * PKWIN32_CLOSEMETHOD_CALLOUT)(_In_ struct _WIN32_CLOSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:643
struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT JOBOBJECT_ASSOCIATE_COMPLETION_PORT
struct _PROCESS_HANDLE_TRACING_ENTRY * PPROCESS_HANDLE_TRACING_ENTRY
struct _PROCESS_DEVICEMAP_INFORMATION PROCESS_DEVICEMAP_INFORMATION
struct _PROCESS_DEVICEMAP_INFORMATION * PPROCESS_DEVICEMAP_INFORMATION
struct _PROCESS_WS_WATCH_INFORMATION PROCESS_WS_WATCH_INFORMATION
struct _PROCESS_SESSION_INFORMATION PROCESS_SESSION_INFORMATION
#define PROCESS_HANDLE_TRACING_MAX_STACKS
Definition: pstypes.h:230
struct _PROCESS_WS_WATCH_INFORMATION * PPROCESS_WS_WATCH_INFORMATION
struct _POOLED_USAGE_AND_LIMITS * PPOOLED_USAGE_AND_LIMITS
struct _PROCESS_SESSION_INFORMATION * PPROCESS_SESSION_INFORMATION
struct _PROCESS_HANDLE_TRACING_QUERY * PPROCESS_HANDLE_TRACING_QUERY
struct _PROCESS_HANDLE_TRACING_QUERY PROCESS_HANDLE_TRACING_QUERY
struct _PROCESS_HANDLE_TRACING_ENTRY PROCESS_HANDLE_TRACING_ENTRY
struct _POOLED_USAGE_AND_LIMITS POOLED_USAGE_AND_LIMITS
#define C_ASSERT(e)
Definition: intsafe.h:73
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
unsigned __int64 ULONG64
Definition: imports.h:198
enum _OB_OPEN_REASON OB_OPEN_REASON
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
ULONG ACCESS_MASK
Definition: nt_native.h:40
struct _PROCESS_ACCESS_TOKEN PROCESS_ACCESS_TOKEN
struct _PROCESS_ACCESS_TOKEN * PPROCESS_ACCESS_TOKEN
POWER_ACTION
Definition: ntpoapi.h:122
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
unsigned short USHORT
Definition: pedump.c:61
char CHAR
Definition: pedump.c:57
struct _PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION
struct _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
_In_ PVOID Context
Definition: storport.h:2269
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo
Definition: pstypes.h:1735
UNICODE_STRING ImageName
Definition: pstypes.h:1106
ULONG UniqueProcess
Definition: pstypes.h:796
ULONG UniqueThread
Definition: pstypes.h:797
ULONG64 UniqueThread
Definition: pstypes.h:803
ULONG64 UniqueProcess
Definition: pstypes.h:802
LARGE_INTEGER ThisPeriodTotalUserTime
Definition: pstypes.h:1625
ULONGLONG OtherTransferCount
Definition: pstypes.h:1653
LARGE_INTEGER TotalKernelTime
Definition: pstypes.h:1624
ULONG CurrentJobMemoryUsed
Definition: pstypes.h:1659
ULONG LimitFlags
Definition: pstypes.h:1633
ULONG TotalProcesses
Definition: pstypes.h:1628
ULONG ActiveProcessLimit
Definition: pstypes.h:1636
LIST_ENTRY ProcessListHead
Definition: pstypes.h:1621
UCHAR PriorityClass
Definition: pstypes.h:1638
ULONG UIRestrictionsClass
Definition: pstypes.h:1639
ULONGLONG OtherOperationCount
Definition: pstypes.h:1650
LARGE_INTEGER PerJobUserTimeLimit
Definition: pstypes.h:1632
ULONG Affinity
Definition: pstypes.h:1637
PVOID CompletionPort
Definition: pstypes.h:1644
ULONG ActiveProcesses
Definition: pstypes.h:1629
KEVENT Event
Definition: pstypes.h:1619
ULONG PeakProcessMemoryUsed
Definition: pstypes.h:1657
ULONG ProcessMemoryLimit
Definition: pstypes.h:1655
ULONGLONG ReadTransferCount
Definition: pstypes.h:1651
ULONG SchedulingClass
Definition: pstypes.h:1647
ULONG TotalPageFaultCount
Definition: pstypes.h:1627
ULONG MinimumWorkingSetSize
Definition: pstypes.h:1634
PVOID Token
Definition: pstypes.h:1641
PVOID CompletionKey
Definition: pstypes.h:1645
LIST_ENTRY JobLinks
Definition: pstypes.h:1620
ULONG PeakJobMemoryUsed
Definition: pstypes.h:1658
ULONG TotalTerminatedProcesses
Definition: pstypes.h:1630
ULONG JobFlags
Definition: pstypes.h:1669
ULONG MaximumWorkingSetSize
Definition: pstypes.h:1635
ULONG SecurityLimitFlags
Definition: pstypes.h:1640
IO_COUNTERS IoInfo
Definition: pstypes.h:1654
LARGE_INTEGER TotalUserTime
Definition: pstypes.h:1623
ULONGLONG ReadOperationCount
Definition: pstypes.h:1648
LARGE_INTEGER ThisPeriodTotalKernelTime
Definition: pstypes.h:1626
ULONGLONG WriteOperationCount
Definition: pstypes.h:1649
EX_PUSH_LOCK MemoryLimitsLock
Definition: pstypes.h:1665
PPS_JOB_TOKEN_FILTER Filter
Definition: pstypes.h:1642
ULONG JobMemoryLimit
Definition: pstypes.h:1656
ULONGLONG WriteTransferCount
Definition: pstypes.h:1652
ERESOURCE JobLock
Definition: pstypes.h:1622
LIST_ENTRY JobSetLinks
Definition: pstypes.h:1667
ULONG MemberLevel
Definition: pstypes.h:1668
ULONG EndOfJobTimeAction
Definition: pstypes.h:1643
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1631
ULONG SessionId
Definition: pstypes.h:1646
EPROCESS_QUOTA_ENTRY QuotaEntry[PsQuotaTypes]
Definition: pstypes.h:1171
LIST_ENTRY QuotaList
Definition: pstypes.h:1172
Definition: pstypes.h:1162
SIZE_T Return
Definition: pstypes.h:1166
SIZE_T Usage
Definition: pstypes.h:1163
SIZE_T Limit
Definition: pstypes.h:1164
SIZE_T Peak
Definition: pstypes.h:1165
PVOID ExceptionPortData
Definition: pstypes.h:1416
PVOID LockedPagesList
Definition: pstypes.h:1465
ULONG ExitProcessReported
Definition: pstypes.h:1508
LIST_ENTRY ActiveProcessLinks
Definition: pstypes.h:1405
EX_FAST_REF PrefetchTrace
Definition: pstypes.h:1482
USHORT Spare7
Definition: pstypes.h:1576
SIZE_T CommitCharge
Definition: pstypes.h:1408
PVOID SectionObject
Definition: pstypes.h:1441
PVOID VadFreeHint
Definition: pstypes.h:1448
MM_AVL_TABLE VadRoot
Definition: pstypes.h:1590
PVOID SecurityPort
Definition: pstypes.h:1467
ULONG RefTraceEnabled
Definition: pstypes.h:1514
UCHAR SubSystemMinorVersion
Definition: pstypes.h:1584
struct _PEB * Peb
Definition: pstypes.h:1481
LIST_ENTRY ThreadListHead
Definition: pstypes.h:1466
ULONG ProcessDeleteSelf
Definition: pstypes.h:1518
ULONG DeprioritizeViews
Definition: pstypes.h:1544
PVOID VdmObjects
Definition: pstypes.h:1449
UCHAR SubSystemMajorVersion
Definition: pstypes.h:1585
ULONG ExceptionPortValue
Definition: pstypes.h:1417
ULONG SetTimerResolution
Definition: pstypes.h:1541
PMM_AVL_TABLE PhysicalVadRoot
Definition: pstypes.h:1435
ULONG ProcessVerifierTarget
Definition: pstypes.h:1519
SIZE_T CommitChargeLimit
Definition: pstypes.h:1489
ULONG HandleTableRundown
Definition: pstypes.h:1512
NTSTATUS ExitStatus
Definition: pstypes.h:1574
PFN_NUMBER NumberOfPrivatePages
Definition: pstypes.h:1437
PVOID Session
Definition: pstypes.h:1462
PVOID DebugPort
Definition: pstypes.h:1412
KPROCESS Pcb
Definition: pstypes.h:1399
ULONG Flags2
Definition: pstypes.h:1521
EX_FAST_REF Token
Definition: pstypes.h:1424
ULONG HasAddressSpace
Definition: pstypes.h:1551
ULONG PdeUpdateNeeded
Definition: pstypes.h:1556
MMSUPPORT Vm
Definition: pstypes.h:1493
SIZE_T CommitChargePeak
Definition: pstypes.h:1490
ULONG ImageNotifyDone
Definition: pstypes.h:1555
ULONG VdmAllowed
Definition: pstypes.h:1557
struct _EJOB * Job
Definition: pstypes.h:1440
ULONG ProcessExiting
Definition: pstypes.h:1532
LARGE_INTEGER WriteTransferCount
Definition: pstypes.h:1487
ULONG DefaultPagePriority
Definition: pstypes.h:1517
ULONGLONG Filler
Definition: pstypes.h:1460
EX_PUSH_LOCK ProcessLock
Definition: pstypes.h:1400
HANDLE InheritedFromUniqueProcessId
Definition: pstypes.h:1446
UCHAR ExceptionPortState
Definition: pstypes.h:1418
ULONG WriteWatch
Definition: pstypes.h:1548
ULONG OverrideAddressSpace
Definition: pstypes.h:1550
ULONG NoDebugInherit
Definition: pstypes.h:1531
ULONG NumaAware
Definition: pstypes.h:1515
ULONG Flags
Definition: pstypes.h:1572
ULONG ProtectedProcess
Definition: pstypes.h:1516
PVOID CloneRoot
Definition: pstypes.h:1436
HARDWARE_PTE PageDirectoryPte
Definition: pstypes.h:1459
ULONG ProcessInserted
Definition: pstypes.h:1560
PEPROCESS_QUOTA_BLOCK QuotaBlock
Definition: pstypes.h:1443
ULONG Wow64VaSpace4Gb
Definition: pstypes.h:1539
LIST_ENTRY MmProcessLinks
Definition: pstypes.h:1497
PVOID LdtInformation
Definition: pstypes.h:1447
ULONG AccountingFolded
Definition: pstypes.h:1506
PVOID * Win32Process
Definition: pstypes.h:1439
PVOID FreeTebHint
Definition: pstypes.h:1453
ULONG SmapAllowed
Definition: pstypes.h:1558
EX_PUSH_LOCK AddressCreationLock
Definition: pstypes.h:1427
ULONG CreateReported
Definition: pstypes.h:1530
PETHREAD ForkInProgress
Definition: pstypes.h:1433
PFN_NUMBER NumberOfLockedPages
Definition: pstypes.h:1438
LIST_ENTRY JobLinks
Definition: pstypes.h:1464
PVOID SectionBaseAddress
Definition: pstypes.h:1442
ULONG_PTR HardwareTrigger
Definition: pstypes.h:1434
PHANDLE_TABLE ObjectTable
Definition: pstypes.h:1423
ULONG Wow64SplitPages
Definition: pstypes.h:1534
ULONG InjectInpageErrors
Definition: pstypes.h:1553
ULONG SparePsFlags1
Definition: pstypes.h:1566
ULONG ReportPhysicalPageChanges
Definition: pstypes.h:1511
LARGE_INTEGER CreateTime
Definition: pstypes.h:1401
PETHREAD RotateInProgress
Definition: pstypes.h:1428
ULONG OutswapEnabled
Definition: pstypes.h:1536
HANDLE UniqueProcessId
Definition: pstypes.h:1404
SIZE_T PeakVirtualSize
Definition: pstypes.h:1409
ULONG ProcessDelete
Definition: pstypes.h:1533
NTSTATUS LastThreadExitStatus
Definition: pstypes.h:1480
ULONG ForkFailed
Definition: pstypes.h:1538
SE_AUDIT_PROCESS_CREATION_INFO SeAuditProcessCreationInfo
Definition: pstypes.h:1492
ULONG Outswapped
Definition: pstypes.h:1537
ULONG LaunchPrefetched
Definition: pstypes.h:1552
ULONG LastReportMemory
Definition: pstypes.h:1510
LARGE_INTEGER ReadTransferCount
Definition: pstypes.h:1486
ULONG ImagePathHash
Definition: pstypes.h:1475
CHAR ImageFileName[16]
Definition: pstypes.h:1463
UCHAR PriorityClass
Definition: pstypes.h:1589
PVOID Win32WindowStation
Definition: pstypes.h:1445
ULONG AddressSpaceInitialized
Definition: pstypes.h:1540
ULONG JobNotReallyActive
Definition: pstypes.h:1505
USHORT SubSystemVersion
Definition: pstypes.h:1587
ULONG NeedsHandleRundown
Definition: pstypes.h:1513
LARGE_INTEGER ReadOperationCount
Definition: pstypes.h:1483
PVOID PaeTop
Definition: pstypes.h:1471
LARGE_INTEGER ExitTime
Definition: pstypes.h:1402
PPAGEFAULT_HISTORY WorkingSetWatch
Definition: pstypes.h:1444
SIZE_T VirtualSize
Definition: pstypes.h:1410
ULONG VmDeleted
Definition: pstypes.h:1535
LIST_ENTRY SessionProcessLinks
Definition: pstypes.h:1411
LARGE_INTEGER OtherTransferCount
Definition: pstypes.h:1488
ULONG BreakOnTermination
Definition: pstypes.h:1542
ULONG ProcessInSession
Definition: pstypes.h:1549
ULONG NewProcessReported
Definition: pstypes.h:1507
ULONG VmTopDown
Definition: pstypes.h:1554
ULONG DefaultHardErrorProcessing
Definition: pstypes.h:1479
SIZE_T QuotaUsage[PsQuotaTypes]
Definition: pstypes.h:1406
LARGE_INTEGER WriteOperationCount
Definition: pstypes.h:1484
PFN_NUMBER WorkingSetPage
Definition: pstypes.h:1425
ULONG ActiveThreads
Definition: pstypes.h:1473
PVOID DeviceMap
Definition: pstypes.h:1450
ULONG DefaultIoPriority
Definition: pstypes.h:1564
ULONG Cookie
Definition: pstypes.h:1591
ULONG ModifiedPageCount
Definition: pstypes.h:1499
SIZE_T QuotaPeak[PsQuotaTypes]
Definition: pstypes.h:1407
PVOID EtwDataSource
Definition: pstypes.h:1452
PVOID AweInfo
Definition: pstypes.h:1491
EX_RUNDOWN_REF RundownProtect
Definition: pstypes.h:1403
ULONG ReportCommitChanges
Definition: pstypes.h:1509
LARGE_INTEGER OtherOperationCount
Definition: pstypes.h:1485
ULONG SkipTerminationMsg
Definition: pstypes.h:1311
PKSTART_ROUTINE StartAddress
Definition: pstypes.h:1280
ULONG ThreadIoPriority
Definition: pstypes.h:1314
LARGE_INTEGER ExitTime
Definition: pstypes.h:1232
PPS_IMPERSONATION_INFORMATION ImpersonationInfo
Definition: pstypes.h:1268
NTSTATUS ExitStatus
Definition: pstypes.h:1238
KTHREAD Tcb
Definition: pstypes.h:1228
ULONG RateApcState
Definition: pstypes.h:1330
UCHAR CacheManagerActive
Definition: pstypes.h:1363
ULONG SpareUlong0
Definition: pstypes.h:1291
PVOID AlpcMessage
Definition: pstypes.h:1373
ULONG AlpcReceiveAttributeSet
Definition: pstypes.h:1374
ULONG OwnsSessionWorkingSetExclusive
Definition: pstypes.h:1350
EX_RUNDOWN_REF RundownProtect
Definition: pstypes.h:1284
ULONG_PTR TopLevelIrp
Definition: pstypes.h:1270
ULONG ExWorkerCanWaitUser
Definition: pstypes.h:1326
ULONG MemoryMaker
Definition: pstypes.h:1327
ULONG SameThreadApcFlags
Definition: pstypes.h:1360
ULONG ReadClusterSize
Definition: pstypes.h:1289
ULONG CacheManagerCount
Definition: pstypes.h:1378
ULONG AlpcMessageId
Definition: pstypes.h:1370
PVOID Win32StartAddress
Definition: pstypes.h:1277
ULONG OwnsSessionWorkingSetShared
Definition: pstypes.h:1351
CLIENT_ID Cid
Definition: pstypes.h:1253
UCHAR DisablePageFaultClustering
Definition: pstypes.h:1367
LIST_ENTRY IrpList
Definition: pstypes.h:1269
struct _TERMINATION_PORT * TerminationPort
Definition: pstypes.h:1244
ULONG CreateMsgSent
Definition: pstypes.h:1313
ULONG ThreadPagePriority
Definition: pstypes.h:1315
PUNICODE_STRING ThreadName
Definition: pstypes.h:1382
ULONG ThreadInserted
Definition: pstypes.h:1301
PVOID KeyedWaitValue
Definition: pstypes.h:1246
ULONG ActiveExWorker
Definition: pstypes.h:1325
UCHAR ActiveFaultCount
Definition: pstypes.h:1368
ULONG LpcReceivedMsgIdValid
Definition: pstypes.h:1339
EX_PUSH_LOCK ThreadLock
Definition: pstypes.h:1285
LIST_ENTRY ActiveTimerListHead
Definition: pstypes.h:1252
ULONG PriorityRegionActive
Definition: pstypes.h:1355
ULONG Spare1
Definition: pstypes.h:1354
KSPIN_LOCK ActiveTimerListLock
Definition: pstypes.h:1251
ULONG OwnsSystemWorkingSetShared
Definition: pstypes.h:1349
PDEVICE_OBJECT DeviceToVerify
Definition: pstypes.h:1271
LIST_ENTRY AlpcWaitListEntry
Definition: pstypes.h:1376
ULONG LpcReceivedMessageId
Definition: pstypes.h:1281
LARGE_INTEGER CreateTime
Definition: pstypes.h:1229
ULONG OwnsProcessWorkingSetShared
Definition: pstypes.h:1347
ULONG ActiveImpersonationInfo
Definition: pstypes.h:1306
ULONG Spare
Definition: pstypes.h:1342
ULONG SameThreadPassiveFlags
Definition: pstypes.h:1333
ULONG PendingRatecontrol
Definition: pstypes.h:1316
ULONG LpcExitThreadCalled
Definition: pstypes.h:1340
ULONG SkipCreationMsg
Definition: pstypes.h:1310
ULONG OwnsProcessWorkingSetExclusive
Definition: pstypes.h:1346
ULONG BreakOnTermination
Definition: pstypes.h:1309
ULONG CrossThreadFlags
Definition: pstypes.h:1319
PPSP_RATE_APC RateControlApc
Definition: pstypes.h:1273
PVOID OfsChain
Definition: pstypes.h:1239
KSEMAPHORE KeyedWaitSemaphore
Definition: pstypes.h:1255
LIST_ENTRY KeyedWaitChain
Definition: pstypes.h:1234
ULONG SystemThread
Definition: pstypes.h:1307
ULONG KeyedEventInUse
Definition: pstypes.h:1328
ULONG HardErrorsAreDisabled
Definition: pstypes.h:1308
ULONG SuppressSymbolLoad
Definition: pstypes.h:1353
KSEMAPHORE AlpcWaitSemaphore
Definition: pstypes.h:1377
struct _ETHREAD * ReaperLink
Definition: pstypes.h:1245
PVOID Win32StartParameter
Definition: pstypes.h:1248
LIST_ENTRY ThreadListEntry
Definition: pstypes.h:1283
LIST_ENTRY LpcReplyChain
Definition: pstypes.h:1233
ULONG HideFromDebugger
Definition: pstypes.h:1305
ULONG OwnsSystemWorkingSetExclusive
Definition: pstypes.h:1348
ULONG Terminated
Definition: pstypes.h:1299
LIST_ENTRY PostBlockList
Definition: pstypes.h:1241
BOOLEAN ImageUsesLargePages
Definition: pstypes.h:734
BOOLEAN IsLegacyProcess
Definition: pstypes.h:737
BOOLEAN IsProtectedProcess
Definition: pstypes.h:736
BOOLEAN InheritedAddressSpace
Definition: pstypes.h:725
BOOLEAN ReadImageFileExecOptions
Definition: pstypes.h:726
BOOLEAN BeingDebugged
Definition: pstypes.h:727
BOOLEAN SpareBits
Definition: pstypes.h:738
BOOLEAN BitField
Definition: pstypes.h:730
HANDLE Mutant
Definition: pstypes.h:747
PVOID StackBase
Definition: pstypes.h:757
PVOID PreviousStackBase
Definition: pstypes.h:755
PVOID AllocatedStackBase
Definition: pstypes.h:759
PVOID StackLimit
Definition: pstypes.h:758
PVOID PreviousStackLimit
Definition: pstypes.h:756
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1690
JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation
Definition: pstypes.h:1741
PTOKEN_PRIVILEGES PrivilegesToDelete
Definition: pstypes.h:1718
ULONG MemberLevel
Definition: pstypes.h:1137
HANDLE JobHandle
Definition: pstypes.h:1136
Definition: ketypes.h:615
LARGE_INTEGER UserTime
Definition: winternl.h:2377
LARGE_INTEGER CreateTime
Definition: winternl.h:2374
LARGE_INTEGER KernelTime
Definition: winternl.h:2376
LARGE_INTEGER ExitTime
Definition: winternl.h:2375
Definition: compat.h:777
Definition: typedefs.h:120
KSPIN_LOCK SpinLock
Definition: pstypes.h:1184
PROCESS_WS_WATCH_INFORMATION WatchInfo[1]
Definition: pstypes.h:1186
struct _PEB_FREE_BLOCK * Next
Definition: ntddk_ex.h:230
SIZE_T PeakNonPagedPoolUsage
Definition: pstypes.h:138
ULONG_PTR InheritedFromUniqueProcessId
Definition: pstypes.h:362
struct _PROCESS_DEVICEMAP_INFORMATION::@4786::@4787 Set
struct _PROCESS_DEVICEMAP_INFORMATION::@4786::@4788 Query
Definition: pstypes.h:418
HANDLE Handle
Definition: pstypes.h:419
ULONG Type
Definition: pstypes.h:421
CLIENT_ID ClientId
Definition: pstypes.h:420
PVOID Stacks[PROCESS_HANDLE_TRACING_MAX_STACKS]
Definition: pstypes.h:422
PROCESS_HANDLE_TRACING_ENTRY HandleTrace[1]
Definition: pstypes.h:428
LDT_ENTRY LdtEntries[ANYSIZE_ARRAY]
Definition: pstypes.h:1066
ULONGLONG TargetGEneration
Definition: pstypes.h:1219
SINGLE_LIST_ENTRY NextApc
Definition: pstypes.h:1216
ULONGLONG ExcessCycles
Definition: pstypes.h:1217
KAPC RateApc
Definition: pstypes.h:1220
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: pstypes.h:1197
ULONG CapturedSidsLength
Definition: pstypes.h:1605
PSID_AND_ATTRIBUTES CapturedSids
Definition: pstypes.h:1604
ULONG CapturedGroupsLength
Definition: pstypes.h:1608
ULONG CapturedGroupCount
Definition: pstypes.h:1606
PSID_AND_ATTRIBUTES CapturedGroups
Definition: pstypes.h:1607
ULONG CapturedPrivilegeCount
Definition: pstypes.h:1609
PLUID_AND_ATTRIBUTES CapturedPrivileges
Definition: pstypes.h:1610
ULONG CapturedPrivilegesLength
Definition: pstypes.h:1611
Definition: ntbasedef.h:640
TEB_ACTIVE_FRAME_CONTEXT BasicContext
Definition: pstypes.h:774
TEB_ACTIVE_FRAME BasicFrame
Definition: pstypes.h:789
PVOID ExtensionIdentifier
Definition: pstypes.h:790
PCTEB_ACTIVE_FRAME_CONTEXT Context
Definition: pstypes.h:783
struct _TEB_ACTIVE_FRAME * Previous
Definition: pstypes.h:782
struct _TERMINATION_PORT * Next
Definition: pstypes.h:1205
KPRIORITY BasePriority
Definition: compat.h:932
KAFFINITY AffinityMask
Definition: compat.h:930
UNICODE_STRING ThreadName
Definition: pstypes.h:1126
PKWIN32_POWEREVENT_CALLOUT PowerEventCallout
Definition: pstypes.h:1825
PKWIN32_SESSION_CALLOUT WindowStationOkToCloseProcedure
Definition: pstypes.h:1833
PKWIN32_PROCESS_CALLOUT ProcessCallout
Definition: pstypes.h:1822
PKWIN32_SESSION_CALLOUT WindowStationDeleteProcedure
Definition: pstypes.h:1835
PKWIN32_SESSION_CALLOUT WindowStationParseProcedure
Definition: pstypes.h:1836
PKWIN32_SESSION_CALLOUT DesktopOkToCloseProcedure
Definition: pstypes.h:1830
PKWIN32_WIN32DATACOLLECTION_CALLOUT Win32DataCollectionProcedure
Definition: pstypes.h:1839
PKWIN32_POWERSTATE_CALLOUT PowerStateCallout
Definition: pstypes.h:1826
PKWIN32_SESSION_CALLOUT DesktopOpenProcedure
Definition: pstypes.h:1829
PKWIN32_SESSION_CALLOUT DesktopDeleteProcedure
Definition: pstypes.h:1832
PKWIN32_SESSION_CALLOUT DesktopCloseProcedure
Definition: pstypes.h:1831
PKWIN32_GLOBALATOMTABLE_CALLOUT GlobalAtomTableCallout
Definition: pstypes.h:1824
PKWIN32_SESSION_CALLOUT WindowStationOpenProcedure
Definition: pstypes.h:1837
PKWIN32_THREAD_CALLOUT ThreadCallout
Definition: pstypes.h:1823
PGDI_BATCHFLUSH_ROUTINE BatchFlushRoutine
Definition: pstypes.h:1828
PKWIN32_SESSION_CALLOUT WindowStationCloseProcedure
Definition: pstypes.h:1834
PKWIN32_JOB_CALLOUT JobCallout
Definition: pstypes.h:1827
PSW32JOBCALLOUTTYPE CalloutType
Definition: pstypes.h:1771
OB_OPEN_REASON OpenReason
Definition: pstypes.h:1777
PUNICODE_STRING RemainingName
Definition: pstypes.h:1814
_Out_ PUNICODE_STRING CompleteName
Definition: pstypes.h:1813
PSECURITY_QUALITY_OF_SERVICE SecurityQos
Definition: pstypes.h:1816
KPROCESSOR_MODE AccessMode
Definition: pstypes.h:1811
PSPOWEREVENTTYPE EventNumber
Definition: pstypes.h:1755
SYSTEM_POWER_STATE MinSystemState
Definition: pstypes.h:1763
POWERSTATETASK PowerStateTask
Definition: pstypes.h:1765
ULONG CycleTime
Definition: svw_pata.c:43
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: typedefs.h:53
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
char * LPSTR
Definition: typedefs.h:51
uint64_t ULONGLONG
Definition: typedefs.h:67
const char * PCSTR
Definition: typedefs.h:52
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342
struct _KERNEL_USER_TIMES KERNEL_USER_TIMES
@ ThreadSuspendCount
Definition: winternl.h:2316
@ ThreadActualGroupAffinity
Definition: winternl.h:2322
@ ThreadStrongerBadHandleChecks
Definition: winternl.h:2334
@ ThreadCpuAccountingInformation
Definition: winternl.h:2315
@ ThreadWorkOnBehalfTicket
Definition: winternl.h:2325
@ ThreadEffectiveIoPriority
Definition: winternl.h:2335
@ ThreadCreateStateChange
Definition: winternl.h:2332
@ ThreadSelectedCpuSets
Definition: winternl.h:2320
@ ThreadApplyStateChange
Definition: winternl.h:2333
@ ThreadSystemThreadInformation
Definition: winternl.h:2321
@ ThreadManageWritesToExecutableMemory
Definition: winternl.h:2329
@ ThreadDynamicCodePolicyInfo
Definition: winternl.h:2323
@ ThreadExplicitCaseSensitivity
Definition: winternl.h:2324
@ ThreadPowerThrottlingState
Definition: winternl.h:2330
@ ThreadHeterogeneousCpuPolicy
Definition: winternl.h:2317
@ ThreadEffectivePagePriority
Definition: winternl.h:2336
@ ThreadNameInformation
Definition: winternl.h:2319
@ ThreadDbgkWerReportActive
Definition: winternl.h:2327
@ ThreadSubsystemInformation
Definition: winternl.h:2326
@ ThreadAttachContainer
Definition: winternl.h:2328
@ ThreadContainerId
Definition: winternl.h:2318
@ ThreadWorkloadClass
Definition: winternl.h:2331
struct _KERNEL_USER_TIMES * PKERNEL_USER_TIMES
@ ProcessPagePriority
Definition: winternl.h:1921
@ ProcessLUIDDeviceMapsEnabled
Definition: winternl.h:1910
@ ProcessMemoryAllocationMode
Definition: winternl.h:1928
@ ProcessTlsInformation
Definition: winternl.h:1917
@ ProcessWx86Information
Definition: winternl.h:1901
@ ProcessDebugFlags
Definition: winternl.h:1913
@ MaxProcessInfoClass
Definition: winternl.h:1994
@ ProcessSessionInformation
Definition: winternl.h:1906
@ ProcessWorkingSetWatchEx
Definition: winternl.h:1924
@ ProcessAffinityMask
Definition: winternl.h:1903
@ ProcessInstrumentationCallback
Definition: winternl.h:1922
@ ProcessImageFileMapping
Definition: winternl.h:1926
@ ProcessIoPortHandlers
Definition: winternl.h:1895
@ ProcessRaisePriority
Definition: winternl.h:1888
@ ProcessVmCounters
Definition: winternl.h:1885
@ ProcessPriorityClass
Definition: winternl.h:1900
@ ProcessPriorityBoost
Definition: winternl.h:1904
@ ProcessImageInformation
Definition: winternl.h:1919
@ ProcessExecuteFlags
Definition: winternl.h:1916
@ ProcessCookie
Definition: winternl.h:1918
@ ProcessPooledUsageAndLimits
Definition: winternl.h:1896
@ ProcessLdtSize
Definition: winternl.h:1893
@ ProcessIoCounters
Definition: winternl.h:1884
@ ProcessImageFileNameWin32
Definition: winternl.h:1925
@ ProcessDefaultHardErrorMode
Definition: winternl.h:1894
@ ProcessAffinityUpdateMode
Definition: winternl.h:1927
@ ProcessEnableAlignmentFaultFixup
Definition: winternl.h:1899
@ ProcessDeviceMap
Definition: winternl.h:1905
@ ProcessBasePriority
Definition: winternl.h:1887
@ ProcessQuotaLimits
Definition: winternl.h:1883
@ ProcessCycleTime
Definition: winternl.h:1920
@ ProcessAccessToken
Definition: winternl.h:1891
@ ProcessIoPriority
Definition: winternl.h:1915
@ ProcessHandleTracing
Definition: winternl.h:1914
@ ProcessThreadStackAllocation
Definition: winternl.h:1923
@ ProcessForegroundInformation
Definition: winternl.h:1907
@ ProcessTimes
Definition: winternl.h:1886
@ ProcessDebugObjectHandle
Definition: winternl.h:1912
@ ProcessExceptionPort
Definition: winternl.h:1890
@ ProcessWorkingSetWatch
Definition: winternl.h:1897
@ ProcessLdtInformation
Definition: winternl.h:1892
@ ProcessHandleCount
Definition: winternl.h:1902
@ ProcessUserModeIOPL
Definition: winternl.h:1898
FAST_MUTEX
Definition: extypes.h:17
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:567
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
_Inout_opt_ PVOID Parameter
Definition: rtltypes.h:336
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK GrantedAccess
Definition: sefuncs.h:20