ReactOS  0.4.15-dev-1184-g23e04ae
pstypes.h
Go to the documentation of this file.
1 /*++ NDK Version: 0098
2 
3 Copyright (c) Alex Ionescu. All rights reserved.
4 
5 Header Name:
6 
7  pstypes.h
8 
9 Abstract:
10 
11  Type definitions for the Process Manager
12 
13 Author:
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
36 extern "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 // KUSER_SHARED_DATA location in User Mode
50 //
51 #define USER_SHARED_DATA (0x7FFE0000)
52 
53 //
54 // Global Flags
55 //
56 #define FLG_STOP_ON_EXCEPTION 0x00000001
57 #define FLG_SHOW_LDR_SNAPS 0x00000002
58 #define FLG_DEBUG_INITIAL_COMMAND 0x00000004
59 #define FLG_STOP_ON_HUNG_GUI 0x00000008
60 #define FLG_HEAP_ENABLE_TAIL_CHECK 0x00000010
61 #define FLG_HEAP_ENABLE_FREE_CHECK 0x00000020
62 #define FLG_HEAP_VALIDATE_PARAMETERS 0x00000040
63 #define FLG_HEAP_VALIDATE_ALL 0x00000080
64 #define FLG_APPLICATION_VERIFIER 0x00000100
65 #define FLG_POOL_ENABLE_TAGGING 0x00000400
66 #define FLG_HEAP_ENABLE_TAGGING 0x00000800
67 #define FLG_USER_STACK_TRACE_DB 0x00001000
68 #define FLG_KERNEL_STACK_TRACE_DB 0x00002000
69 #define FLG_MAINTAIN_OBJECT_TYPELIST 0x00004000
70 #define FLG_HEAP_ENABLE_TAG_BY_DLL 0x00008000
71 #define FLG_DISABLE_STACK_EXTENSION 0x00010000
72 #define FLG_ENABLE_CSRDEBUG 0x00020000
73 #define FLG_ENABLE_KDEBUG_SYMBOL_LOAD 0x00040000
74 #define FLG_DISABLE_PAGE_KERNEL_STACKS 0x00080000
75 #if (NTDDI_VERSION < NTDDI_WINXP)
76 #define FLG_HEAP_ENABLE_CALL_TRACING 0x00100000
77 #else
78 #define FLG_ENABLE_SYSTEM_CRIT_BREAKS 0x00100000
79 #endif
80 #define FLG_HEAP_DISABLE_COALESCING 0x00200000
81 #define FLG_ENABLE_CLOSE_EXCEPTIONS 0x00400000
82 #define FLG_ENABLE_EXCEPTION_LOGGING 0x00800000
83 #define FLG_ENABLE_HANDLE_TYPE_TAGGING 0x01000000
84 #define FLG_HEAP_PAGE_ALLOCS 0x02000000
85 #define FLG_DEBUG_INITIAL_COMMAND_EX 0x04000000
86 #define FLG_VALID_BITS 0x07FFFFFF
87 
88 //
89 // Flags for NtCreateProcessEx
90 //
91 #define PROCESS_CREATE_FLAGS_BREAKAWAY 0x00000001
92 #define PROCESS_CREATE_FLAGS_NO_DEBUG_INHERIT 0x00000002
93 #define PROCESS_CREATE_FLAGS_INHERIT_HANDLES 0x00000004
94 #define PROCESS_CREATE_FLAGS_OVERRIDE_ADDRESS_SPACE 0x00000008
95 #define PROCESS_CREATE_FLAGS_LARGE_PAGES 0x00000010
96 #define PROCESS_CREATE_FLAGS_ALL_LARGE_PAGE_FLAGS PROCESS_CREATE_FLAGS_LARGE_PAGES
97 #define PROCESS_CREATE_FLAGS_LEGAL_MASK (PROCESS_CREATE_FLAGS_BREAKAWAY | \
98  PROCESS_CREATE_FLAGS_NO_DEBUG_INHERIT | \
99  PROCESS_CREATE_FLAGS_INHERIT_HANDLES | \
100  PROCESS_CREATE_FLAGS_OVERRIDE_ADDRESS_SPACE | \
101  PROCESS_CREATE_FLAGS_ALL_LARGE_PAGE_FLAGS)
102 
103 //
104 // Process priority classes
105 //
106 #define PROCESS_PRIORITY_CLASS_INVALID 0
107 #define PROCESS_PRIORITY_CLASS_IDLE 1
108 #define PROCESS_PRIORITY_CLASS_NORMAL 2
109 #define PROCESS_PRIORITY_CLASS_HIGH 3
110 #define PROCESS_PRIORITY_CLASS_REALTIME 4
111 #define PROCESS_PRIORITY_CLASS_BELOW_NORMAL 5
112 #define PROCESS_PRIORITY_CLASS_ABOVE_NORMAL 6
113 
114 //
115 // Process base priorities
116 //
117 #define PROCESS_PRIORITY_IDLE 3
118 #define PROCESS_PRIORITY_NORMAL 8
119 #define PROCESS_PRIORITY_NORMAL_FOREGROUND 9
120 
121 //
122 // Process memory priorities
123 //
124 #define MEMORY_PRIORITY_BACKGROUND 0
125 #define MEMORY_PRIORITY_UNKNOWN 1
126 #define MEMORY_PRIORITY_FOREGROUND 2
127 
128 //
129 // Process Priority Separation Values (OR)
130 //
131 #define PSP_DEFAULT_QUANTUMS 0x00
132 #define PSP_VARIABLE_QUANTUMS 0x04
133 #define PSP_FIXED_QUANTUMS 0x08
134 #define PSP_LONG_QUANTUMS 0x10
135 #define PSP_SHORT_QUANTUMS 0x20
136 
137 #ifndef NTOS_MODE_USER
138 //
139 // Thread Access Types
140 //
141 #define THREAD_QUERY_INFORMATION 0x0040
142 #define THREAD_SET_THREAD_TOKEN 0x0080
143 #define THREAD_IMPERSONATE 0x0100
144 #define THREAD_DIRECT_IMPERSONATION 0x0200
145 
146 //
147 // Process Access Types
148 //
149 #define PROCESS_TERMINATE 0x0001
150 #define PROCESS_CREATE_THREAD 0x0002
151 #define PROCESS_SET_SESSIONID 0x0004
152 #define PROCESS_VM_OPERATION 0x0008
153 #define PROCESS_VM_READ 0x0010
154 #define PROCESS_VM_WRITE 0x0020
155 #define PROCESS_CREATE_PROCESS 0x0080
156 #define PROCESS_SET_QUOTA 0x0100
157 #define PROCESS_SET_INFORMATION 0x0200
158 #define PROCESS_QUERY_INFORMATION 0x0400
159 #define PROCESS_SUSPEND_RESUME 0x0800
160 #define PROCESS_QUERY_LIMITED_INFORMATION 0x1000
161 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
162 #define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
163  SYNCHRONIZE | \
164  0xFFFF)
165 #else
166 #define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
167  SYNCHRONIZE | \
168  0xFFF)
169 #endif
170 
171 //
172 // Thread Base Priorities
173 //
174 #define THREAD_BASE_PRIORITY_LOWRT 15
175 #define THREAD_BASE_PRIORITY_MAX 2
176 #define THREAD_BASE_PRIORITY_MIN -2
177 #define THREAD_BASE_PRIORITY_IDLE -15
178 
179 //
180 // TLS Slots
181 //
182 #define TLS_MINIMUM_AVAILABLE 64
183 
184 //
185 // TEB Active Frame Flags
186 //
187 #define TEB_ACTIVE_FRAME_CONTEXT_FLAG_EXTENDED 0x1
188 
189 //
190 // Job Access Types
191 //
192 #define JOB_OBJECT_ASSIGN_PROCESS 0x1
193 #define JOB_OBJECT_SET_ATTRIBUTES 0x2
194 #define JOB_OBJECT_QUERY 0x4
195 #define JOB_OBJECT_TERMINATE 0x8
196 #define JOB_OBJECT_SET_SECURITY_ATTRIBUTES 0x10
197 #define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
198  SYNCHRONIZE | \
199  31)
200 
201 //
202 // Job Limit Flags
203 //
204 #define JOB_OBJECT_LIMIT_WORKINGSET 0x1
205 #define JOB_OBJECT_LIMIT_PROCESS_TIME 0x2
206 #define JOB_OBJECT_LIMIT_JOB_TIME 0x4
207 #define JOB_OBJECT_LIMIT_ACTIVE_PROCESS 0x8
208 #define JOB_OBJECT_LIMIT_AFFINITY 0x10
209 #define JOB_OBJECT_LIMIT_PRIORITY_CLASS 0x20
210 #define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME 0x40
211 #define JOB_OBJECT_LIMIT_SCHEDULING_CLASS 0x80
212 #define JOB_OBJECT_LIMIT_PROCESS_MEMORY 0x100
213 #define JOB_OBJECT_LIMIT_JOB_MEMORY 0x200
214 #define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x400
215 #define JOB_OBJECT_LIMIT_BREAKAWAY_OK 0x800
216 #define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK 0x1000
217 #define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE 0x2000
218 
219 //
220 // Job Security Limit Flags
221 //
222 #define JOB_OBJECT_SECURITY_NO_ADMIN 0x0001
223 #define JOB_OBJECT_SECURITY_RESTRICTED_TOKEN 0x0002
224 #define JOB_OBJECT_SECURITY_ONLY_TOKEN 0x0004
225 #define JOB_OBJECT_SECURITY_FILTER_TOKENS 0x0008
226 
227 //
228 // Cross Thread Flags
229 //
230 #define CT_TERMINATED_BIT 0x1
231 #define CT_DEAD_THREAD_BIT 0x2
232 #define CT_HIDE_FROM_DEBUGGER_BIT 0x4
233 #define CT_ACTIVE_IMPERSONATION_INFO_BIT 0x8
234 #define CT_SYSTEM_THREAD_BIT 0x10
235 #define CT_HARD_ERRORS_ARE_DISABLED_BIT 0x20
236 #define CT_BREAK_ON_TERMINATION_BIT 0x40
237 #define CT_SKIP_CREATION_MSG_BIT 0x80
238 #define CT_SKIP_TERMINATION_MSG_BIT 0x100
239 
240 //
241 // Same Thread Passive Flags
242 //
243 #define STP_ACTIVE_EX_WORKER_BIT 0x1
244 #define STP_EX_WORKER_CAN_WAIT_USER_BIT 0x2
245 #define STP_MEMORY_MAKER_BIT 0x4
246 #define STP_KEYED_EVENT_IN_USE_BIT 0x8
247 
248 //
249 // Same Thread APC Flags
250 //
251 #define STA_LPC_RECEIVED_MSG_ID_VALID_BIT 0x1
252 #define STA_LPC_EXIT_THREAD_CALLED_BIT 0x2
253 #define STA_ADDRESS_SPACE_OWNER_BIT 0x4
254 #define STA_OWNS_WORKING_SET_BITS 0x1F8
255 
256 //
257 // Kernel Process flags (maybe in ketypes.h?)
258 //
259 #define KPSF_AUTO_ALIGNMENT_BIT 0
260 #define KPSF_DISABLE_BOOST_BIT 1
261 
262 //
263 // Process Flags
264 //
265 #define PSF_CREATE_REPORTED_BIT 0x1
266 #define PSF_NO_DEBUG_INHERIT_BIT 0x2
267 #define PSF_PROCESS_EXITING_BIT 0x4
268 #define PSF_PROCESS_DELETE_BIT 0x8
269 #define PSF_WOW64_SPLIT_PAGES_BIT 0x10
270 #define PSF_VM_DELETED_BIT 0x20
271 #define PSF_OUTSWAP_ENABLED_BIT 0x40
272 #define PSF_OUTSWAPPED_BIT 0x80
273 #define PSF_FORK_FAILED_BIT 0x100
274 #define PSF_WOW64_VA_SPACE_4GB_BIT 0x200
275 #define PSF_ADDRESS_SPACE_INITIALIZED_BIT 0x400
276 #define PSF_SET_TIMER_RESOLUTION_BIT 0x1000
277 #define PSF_BREAK_ON_TERMINATION_BIT 0x2000
278 #define PSF_SESSION_CREATION_UNDERWAY_BIT 0x4000
279 #define PSF_WRITE_WATCH_BIT 0x8000
280 #define PSF_PROCESS_IN_SESSION_BIT 0x10000
281 #define PSF_OVERRIDE_ADDRESS_SPACE_BIT 0x20000
282 #define PSF_HAS_ADDRESS_SPACE_BIT 0x40000
283 #define PSF_LAUNCH_PREFETCHED_BIT 0x80000
284 #define PSF_INJECT_INPAGE_ERRORS_BIT 0x100000
285 #define PSF_VM_TOP_DOWN_BIT 0x200000
286 #define PSF_IMAGE_NOTIFY_DONE_BIT 0x400000
287 #define PSF_PDE_UPDATE_NEEDED_BIT 0x800000
288 #define PSF_VDM_ALLOWED_BIT 0x1000000
289 #define PSF_SWAP_ALLOWED_BIT 0x2000000
290 #define PSF_CREATE_FAILED_BIT 0x4000000
291 #define PSF_DEFAULT_IO_PRIORITY_BIT 0x8000000
292 
293 //
294 // Vista Process Flags
295 //
296 #define PSF2_PROTECTED_BIT 0x800
297 #endif
298 
299 //
300 // TLS/FLS Defines
301 //
302 #define TLS_EXPANSION_SLOTS 1024
303 
304 #ifdef NTOS_MODE_USER
305 //
306 // Thread Native Base Priorities
307 //
308 #define LOW_PRIORITY 0
309 #define LOW_REALTIME_PRIORITY 16
310 #define HIGH_PRIORITY 31
311 #define MAXIMUM_PRIORITY 32
312 
313 //
314 // Current Process/Thread built-in 'special' handles
315 //
316 #define NtCurrentProcess() ((HANDLE)(LONG_PTR)-1)
317 #define ZwCurrentProcess() NtCurrentProcess()
318 #define NtCurrentThread() ((HANDLE)(LONG_PTR)-2)
319 #define ZwCurrentThread() NtCurrentThread()
320 
321 //
322 // Process/Thread/Job Information Classes for NtQueryInformationProcess/Thread/Job
323 //
324 typedef enum _PROCESSINFOCLASS
325 {
330  ProcessTimes,
375 
376 typedef enum _THREADINFOCLASS
377 {
379  ThreadTimes,
408 
409 #else
410 
412 {
417 
419 {
432 
433 //
434 // Power Event Events for Win32K Power Event Callback
435 //
436 typedef enum _PSPOWEREVENTTYPE
437 {
452 
453 //
454 // Power State Tasks for Win32K Power State Callback
455 //
456 typedef enum _POWERSTATETASK
457 {
475 
476 //
477 // Win32K Job Callback Types
478 //
480 {
485 
486 //
487 // Win32K Thread Callback Types
488 //
490 {
494 
495 //
496 // Declare empty structure definitions so that they may be referenced by
497 // routines before they are defined
498 //
499 struct _W32THREAD;
500 struct _W32PROCESS;
501 //struct _ETHREAD;
510 
511 //
512 // Win32K Process and Thread Callbacks
513 //
514 typedef
515 NTSTATUS
516 (NTAPI *PKWIN32_PROCESS_CALLOUT)(
517  _In_ struct _EPROCESS *Process,
519 );
520 
521 typedef
522 NTSTATUS
524  _In_ struct _ETHREAD *Thread,
526 );
527 
528 typedef
529 NTSTATUS
531  VOID
532 );
533 
534 typedef
535 NTSTATUS
538 );
539 
540 typedef
541 NTSTATUS
544 );
545 
546 typedef
547 NTSTATUS
550 );
551 
552 typedef
553 NTSTATUS
555  VOID
556 );
557 
558 typedef
559 NTSTATUS
562 );
563 
564 typedef
565 NTSTATUS
568 );
569 
570 typedef
571 NTSTATUS
574 );
575 
576 typedef
577 NTSTATUS
580 );
581 
582 typedef
583 NTSTATUS
586 );
587 
588 typedef
589 NTSTATUS
592 );
593 
594 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
595 typedef
596 NTSTATUS
598  _In_ struct _EPROCESS *Process,
601 );
602 #endif
603 
604 //
605 // Lego Callback
606 //
607 typedef
608 VOID
611 );
612 
613 #endif
614 
615 typedef NTSTATUS
617  VOID
618 );
619 
620 //
621 // Descriptor Table Entry Definition
622 //
623 #if (_M_IX86)
624 #define _DESCRIPTOR_TABLE_ENTRY_DEFINED
625 typedef struct _DESCRIPTOR_TABLE_ENTRY
626 {
627  ULONG Selector;
629 } DESCRIPTOR_TABLE_ENTRY, *PDESCRIPTOR_TABLE_ENTRY;
630 #endif
631 
632 //
633 // PEB Lock Routine
634 //
635 typedef VOID
637  PVOID PebLock
638 );
639 
640 //
641 // PEB Free Block Descriptor
642 //
643 typedef struct _PEB_FREE_BLOCK
644 {
645  struct _PEB_FREE_BLOCK* Next;
646  ULONG Size;
648 
649 //
650 // Initial PEB
651 //
652 typedef struct _INITIAL_PEB
653 {
657  union
658  {
660 #if (NTDDI_VERSION >= NTDDI_WS03)
661  struct
662  {
664 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
668 #else
669  BOOLEAN SpareBits:7;
670 #endif
671  };
672 #else
673  BOOLEAN SpareBool;
674 #endif
675  };
678 
679 //
680 // Initial TEB
681 //
682 typedef struct _INITIAL_TEB
683 {
690 
691 //
692 // TEB Active Frame Structures
693 //
695 {
700 
702 {
707 
708 typedef struct _TEB_ACTIVE_FRAME
709 {
714 typedef const struct _TEB_ACTIVE_FRAME *PCTEB_ACTIVE_FRAME;
715 
716 typedef struct _TEB_ACTIVE_FRAME_EX
717 {
722 
723 typedef struct _CLIENT_ID32
724 {
728 
729 typedef struct _CLIENT_ID64
730 {
734 
735 #if (NTDDI_VERSION < NTDDI_WS03)
736 typedef struct _Wx86ThreadState
737 {
738  PULONG CallBx86Eip;
739  PVOID DeallocationCpu;
740  BOOLEAN UseKnownWx86Dll;
741  CHAR OleStubInvoked;
742 } Wx86ThreadState, *PWx86ThreadState;
743 #endif
744 
745 //
746 // PEB.AppCompatFlags
747 // Tag FLAG_MASK_KERNEL
748 //
749 typedef enum _APPCOMPAT_FLAGS
750 {
756  DisableCicero = 0x100,
767  DoNotAddToCache = 0x80000000,
769 
770 
771 //
772 // PEB.AppCompatFlagsUser.LowPart
773 // Tag FLAG_MASK_USER
774 //
776 {
786  NoGdiBatching = 0x200,
790  AllTheDdeHacks = 0x2000,
792  NoCharDeadKey = 0x8000,
795  NoDdeSync = 0x40000,
796  NoGhost = 0x80000,
797  NoDdeAsyncReg = 0x100000,
798  StrictLLHook = 0x200000,
799  NoShadow = 0x400000,
801  HighDpiAware = 0x2000000,
802  OpenGLEmfAware = 0x4000000,
804  NoPaddedBorder = 0x10000000,
805  ForceLegacyResizeCM = 0x20000000,
806  HardwareAudioMixer = 0x40000000,
808 #if 0
809  DisableWindowArrangement = 0x100000000,
810  ReorderWaveForCommunications = 0x200000000,
811  NoGdiHwAcceleration = 0x400000000,
812 #endif
814 
815 //
816 // PEB.AppCompatFlagsUser.HighPart
817 // Tag FLAG_MASK_USER
818 //
820 {
825 
826 //
827 // Process Environment Block (PEB)
828 // Thread Environment Block (TEB)
829 //
830 #include "peb_teb.h"
831 
832 #ifdef _WIN64
833 //
834 // Explicit 32 bit PEB/TEB
835 //
836 #define EXPLICIT_32BIT
837 #include "peb_teb.h"
838 #undef EXPLICIT_32BIT
839 
840 //
841 // Explicit 64 bit PEB/TEB
842 //
843 #define EXPLICIT_64BIT
844 #include "peb_teb.h"
845 #undef EXPLICIT_64BIT
846 #endif
847 
848 #ifdef NTOS_MODE_USER
849 
850 //
851 // Process Information Structures for NtQueryProcessInformation
852 //
853 typedef struct _PROCESS_BASIC_INFORMATION
854 {
862 
863 typedef struct _PROCESS_ACCESS_TOKEN
864 {
865  HANDLE Token;
866  HANDLE Thread;
868 
869 typedef struct _PROCESS_DEVICEMAP_INFORMATION
870 {
871  union
872  {
873  struct
874  {
876  } Set;
877  struct
878  {
879  ULONG DriveMap;
880  UCHAR DriveType[32];
881  } Query;
882  };
884 
885 typedef struct _KERNEL_USER_TIMES
886 {
892 
893 typedef struct _POOLED_USAGE_AND_LIMITS
894 {
905 
906 typedef struct _PROCESS_SESSION_INFORMATION
907 {
910 
911 #endif
912 
914 {
918 
919 // Compatibility with windows, see CORE-16757, CORE-17106, CORE-17247
920 C_ASSERT(sizeof(PROCESS_PRIORITY_CLASS) == 2);
921 
923 {
926 
927 //
928 // Apphelp SHIM Cache
929 //
931 {
937 
941 
942 
944 {
948 
949 
950 //
951 // Thread Information Structures for NtQueryProcessInformation
952 //
953 typedef struct _THREAD_BASIC_INFORMATION
954 {
962 
963 #ifndef NTOS_MODE_USER
964 
965 //
966 // Job Set Array
967 //
968 typedef struct _JOB_SET_ARRAY
969 {
974 
975 //
976 // EPROCESS Quota Structures
977 //
978 typedef struct _EPROCESS_QUOTA_ENTRY
979 {
985 
986 typedef struct _EPROCESS_QUOTA_BLOCK
987 {
993 
994 //
995 // Process Pagefault History
996 //
997 typedef struct _PAGEFAULT_HISTORY
998 {
1005 
1006 //
1007 // Process Impersonation Information
1008 //
1010 {
1016 
1017 //
1018 // Process Termination Port
1019 //
1020 typedef struct _TERMINATION_PORT
1021 {
1025 
1026 //
1027 // Per-Process APC Rate Limiting
1028 //
1029 typedef struct _PSP_RATE_APC
1030 {
1031  union
1032  {
1035  };
1039 
1040 //
1041 // Executive Thread (ETHREAD)
1042 //
1043 typedef struct _ETHREAD
1044 {
1047  union
1048  {
1052  };
1053  union
1054  {
1057  };
1059  union
1060  {
1064 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1066 #endif
1067  };
1071 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1073 #else
1074  union
1075  {
1076  KSEMAPHORE LpcReplySemaphore;
1078  };
1079  union
1080  {
1081  PVOID LpcReplyMessage;
1082  PVOID LpcWaitingOnPort;
1083  };
1084 #endif
1089 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1091 #else
1092  struct _EPROCESS *ThreadsProcess;
1093 #endif
1095  union
1096  {
1099  };
1103 #if (NTDDI_VERSION < NTDDI_LONGHORN)
1104  ULONG LpcReplyMessageId;
1105 #endif
1107 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1109 #else
1111 #endif
1112  union
1113  {
1114  struct
1115  {
1117 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1119 #else
1120  ULONG DeadThread:1;
1121 #endif
1129 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1134 #endif
1135  };
1137  };
1138  union
1139  {
1140  struct
1141  {
1146 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1148 #endif
1149  };
1151  };
1152  union
1153  {
1154  struct
1155  {
1158 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1160 #else
1161  ULONG AddressSpaceOwner:1;
1162 #endif
1169 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1173 #else
1174  ULONG ApcNeeded:1;
1175 #endif
1176  };
1178  };
1179 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1181 #else
1182  UCHAR ForwardClusterOnly;
1183 #endif
1186 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1188  union
1189  {
1192  };
1196 #endif
1197 } ETHREAD;
1198 
1199 //
1200 // Executive Process (EPROCESS)
1201 //
1202 typedef struct _EPROCESS
1203 {
1211  SIZE_T QuotaUsage[3]; /* 0=PagedPool, 1=NonPagedPool, 2=Pagefile */
1212  SIZE_T QuotaPeak[3]; /* ditto */
1218 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1219  union
1220  {
1224  };
1225 #else
1226  PVOID ExceptionPort;
1227 #endif
1231 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1234 #else
1236  KSPIN_LOCK HyperSpaceLock;
1237 #endif
1245  struct _EJOB *Job;
1256 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1259 #else
1260  PVOID Spare0[3];
1261 #endif
1262  union
1263  {
1266  };
1273 #ifdef _M_AMD64
1274  struct _WOW64_PROCESS *Wow64Process;
1275 #else
1277 #endif
1279 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1281 #else
1283 #endif
1286  struct _PEB* Peb;
1299 #ifdef _M_AMD64
1300  ULONG Spares[2];
1301 #else
1303 #endif
1305 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1306  union
1307  {
1308  struct
1309  {
1325  };
1327  };
1328 #else
1329  ULONG JobStatus;
1330 #endif
1331  union
1332  {
1333  struct
1334  {
1348 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1350 #else
1351  ULONG SessionCreationUnderway:1;
1352 #endif
1364 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1366 #else
1367  ULONG CreateFailed:1;
1368 #endif
1370 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1372 #else
1373  ULONG Spare1:1;
1374  ULONG Spare2:1;
1375 #endif
1376  };
1378  };
1380 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1382 #else
1383  USHORT NextPageColor;
1384 #endif
1385  union
1386  {
1387  struct
1388  {
1391  };
1393  };
1397 } EPROCESS;
1398 
1399 //
1400 // Job Token Filter Data
1401 //
1402 #include <pshpack1.h>
1403 typedef struct _PS_JOB_TOKEN_FILTER
1404 {
1415 
1416 //
1417 // Executive Job (EJOB)
1418 //
1419 typedef struct _EJOB
1420 {
1462 #if (NTDDI_VERSION >= NTDDI_WINXP) && (NTDDI_VERSION < NTDDI_WS03)
1464 #elif (NTDDI_VERSION >= NTDDI_WS03) && (NTDDI_VERSION < NTDDI_LONGHORN)
1466 #elif (NTDDI_VERSION >= NTDDI_LONGHORN)
1468 #endif
1472 } EJOB, *PEJOB;
1473 #include <poppack.h>
1474 
1475 //
1476 // Job Information Structures for NtQueryInformationJobObject
1477 //
1478 
1480 {
1490 
1492 {
1503 
1505 {
1510 
1512 {
1515 
1517 {
1524 
1526 {
1529 
1531 {
1535 
1537 {
1541 
1543 {
1551 
1552 
1553 //
1554 // Win32K Callback Registration Data
1555 //
1557 {
1561 
1563 {
1570 
1572 {
1577 
1579 {
1586 
1588 {
1594 
1596 {
1603 
1605 {
1608 
1610 {
1622 
1623 typedef struct _WIN32_CALLOUTS_FPNS
1624 {
1625  PKWIN32_PROCESS_CALLOUT ProcessCallout;
1641 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1643 #endif
1645 
1646 #endif // !NTOS_MODE_USER
1647 
1648 #ifdef __cplusplus
1649 }; // extern "C"
1650 #endif
1651 
1652 #endif // _PSTYPES_H
KSEMAPHORE KeyedWaitSemaphore
Definition: pstypes.h:1072
LARGE_INTEGER WriteOperationCount
Definition: pstypes.h:1289
PCTEB_ACTIVE_FRAME_CONTEXT Context
Definition: pstypes.h:712
ULONG LimitFlags
Definition: pstypes.h:1435
PKWIN32_POWERSTATE_CALLOUT PowerStateCallout
Definition: pstypes.h:1629
enum _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION * PJOBOBJECT_EXTENDED_LIMIT_INFORMATION
_APPCOMPAT_USERFLAGS
Definition: pstypes.h:775
LIST_ENTRY PostBlockList
Definition: pstypes.h:1058
ULONGLONG Filler
Definition: pstypes.h:1265
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION
BOOLEAN SpareBits
Definition: pstypes.h:667
ULONG64 UniqueProcess
Definition: pstypes.h:731
const struct _TEB_ACTIVE_FRAME_CONTEXT * PCTEB_ACTIVE_FRAME_CONTEXT
Definition: pstypes.h:699
struct _INITIAL_TEB * PINITIAL_TEB
LIST_ENTRY MmProcessLinks
Definition: pstypes.h:1302
NTSTATUS(NTAPI * PKWIN32_WIN32DATACOLLECTION_CALLOUT)(_In_ struct _EPROCESS *Process, _In_ PVOID Callback, _In_ PVOID Context)
Definition: pstypes.h:597
LARGE_INTEGER ExitTime
Definition: pstypes.h:1049
HARDWARE_PTE PageDirectoryPte
Definition: pstypes.h:1264
ULONG EndOfJobTimeAction
Definition: pstypes.h:1445
ULONG Wow64SplitPages
Definition: pstypes.h:1339
LIST_ENTRY ThreadListEntry
Definition: pstypes.h:1100
LARGE_INTEGER ReadOperationCount
Definition: pstypes.h:1288
ULONG JobFlags
Definition: pstypes.h:1471
ULONG Spare1
Definition: pstypes.h:1171
NTSTATUS(NTAPI * PKWIN32_GLOBALATOMTABLE_CALLOUT)(VOID)
Definition: pstypes.h:530
struct _PROCESS_FOREGROUND_BACKGROUND PROCESS_FOREGROUND_BACKGROUND
ULONG SkipTerminationMsg
Definition: pstypes.h:1128
PVOID Win32StartParameter
Definition: pstypes.h:1065
struct _WIN32_POWERSTATE_PARAMETERS * PWIN32_POWERSTATE_PARAMETERS
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: pstypes.h:1014
ULONG CapturedGroupCount
Definition: pstypes.h:1408
Type
Definition: Type.h:6
ULONG ReportCommitChanges
Definition: pstypes.h:1314
KAFFINITY AffinityMask
Definition: compat.h:678
PKWIN32_SESSION_CALLOUT WindowStationOkToCloseProcedure
Definition: pstypes.h:1636
enum _APPCOMPAT_FLAGS APPCOMPAT_FLAGS
OB_OPEN_REASON OpenReason
Definition: pstypes.h:1580
UCHAR CacheManagerActive
Definition: pstypes.h:1180
SINGLE_LIST_ENTRY NextApc
Definition: pstypes.h:1033
struct _EPROCESS_QUOTA_ENTRY EPROCESS_QUOTA_ENTRY
ULONG WriteWatch
Definition: pstypes.h:1353
Definition: ntbasedef.h:629
ULONG Flags2
Definition: pstypes.h:1326
ULONG OwnsSystemWorkingSetShared
Definition: pstypes.h:1166
PGDI_BATCHFLUSH_ROUTINE BatchFlushRoutine
Definition: pstypes.h:1631
ULONG BreakOnTermination
Definition: pstypes.h:1347
SIZE_T QuotaPeak[3]
Definition: pstypes.h:1212
BOOLEAN BitField
Definition: pstypes.h:659
LIST_ENTRY KeyedWaitChain
Definition: pstypes.h:1051
HANDLE InheritedFromUniqueProcessId
Definition: pstypes.h:1251
PPSP_RATE_APC RateControlApc
Definition: pstypes.h:1090
SIZE_T PeakVirtualSize
Definition: pstypes.h:1214
LARGE_INTEGER TotalUserTime
Definition: pstypes.h:1425
ULONG CurrentIndex
Definition: pstypes.h:999
struct _PSP_RATE_APC PSP_RATE_APC
struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION JOBOBJECT_SECURITY_LIMIT_INFORMATION
struct _CLIENT_ID64 CLIENT_ID64
_In_ BOOLEAN Create
Definition: pstypes.h:519
ULONG CapturedPrivilegesLength
Definition: pstypes.h:1413
struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION JOBOBJECT_END_OF_JOB_TIME_INFORMATION
UCHAR SubSystemMajorVersion
Definition: pstypes.h:1390
ULONG MemoryMaker
Definition: pstypes.h:1144
char CHAR
Definition: xmlstorage.h:175
LARGE_INTEGER CreateTime
Definition: pstypes.h:1046
LARGE_INTEGER ThisPeriodTotalKernelTime
Definition: pstypes.h:1428
KEVENT Event
Definition: pstypes.h:1421
struct _PS_JOB_TOKEN_FILTER * PPS_JOB_TOKEN_FILTER
struct _KERNEL_USER_TIMES KERNEL_USER_TIMES
LONG NTSTATUS
Definition: precomp.h:26
struct _PROCESS_DEVICEMAP_INFORMATION PROCESS_DEVICEMAP_INFORMATION
struct _PROCESS_ACCESS_TOKEN * PPROCESS_ACCESS_TOKEN
struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION * PJOBOBJECT_SECURITY_LIMIT_INFORMATION
LARGE_INTEGER UserTime
Definition: winternl.h:1063
EX_RUNDOWN_REF RundownProtect
Definition: pstypes.h:1101
struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS WIN32_OKAYTOCLOSEMETHOD_PARAMETERS
KTHREAD Tcb
Definition: pstypes.h:1045
PVOID ExceptionPortData
Definition: pstypes.h:1221
PFN_NUMBER NumberOfPrivatePages
Definition: pstypes.h:1242
PSID_AND_ATTRIBUTES CapturedSids
Definition: pstypes.h:1406
struct _POOLED_USAGE_AND_LIMITS POOLED_USAGE_AND_LIMITS
ULONG LpcReceivedMessageId
Definition: pstypes.h:1098
ULONG JobNotReallyActive
Definition: pstypes.h:1310
NTSTATUS(NTAPI * PKWIN32_THREAD_CALLOUT)(_In_ struct _ETHREAD *Thread, _In_ PSW32THREADCALLOUTTYPE Type)
Definition: pstypes.h:523
_PSPROCESSPRIORITYMODE
Definition: pstypes.h:411
ERESOURCE JobLock
Definition: pstypes.h:1424
struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
LIST_ENTRY ActiveTimerListHead
Definition: pstypes.h:1069
ULONG AlpcMessageId
Definition: pstypes.h:1187
ULONG TotalTerminatedProcesses
Definition: pstypes.h:1432
NTSTATUS(NTAPI * PKWIN32_POWERSTATE_CALLOUT)(_In_ struct _WIN32_POWERSTATE_PARAMETERS *Parameters)
Definition: pstypes.h:542
PVOID CloneRoot
Definition: pstypes.h:1241
struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION PJOBOBJECT_END_OF_JOB_TIME_INFORMATION
PKWIN32_POWEREVENT_CALLOUT PowerEventCallout
Definition: pstypes.h:1628
NTSTATUS(NTAPI * PKWIN32_JOB_CALLOUT)(_In_ struct _WIN32_JOBCALLOUT_PARAMETERS *Parameters)
Definition: pstypes.h:548
ULONG OutswapEnabled
Definition: pstypes.h:1341
PFN_NUMBER NumberOfLockedPages
Definition: pstypes.h:1243
struct _WIN32_POWERSTATE_PARAMETERS WIN32_POWERSTATE_PARAMETERS
ULONG ProcessVerifierTarget
Definition: pstypes.h:1324
PVOID Token
Definition: pstypes.h:1443
struct _PROCESS_DEVICEMAP_INFORMATION * PPROCESS_DEVICEMAP_INFORMATION
struct _PROCESS_DEVICEMAP_INFORMATION::@3908::@3910 Query
KPROCESSOR_MODE AccessMode
Definition: pstypes.h:1614
_POWERSTATETASK
Definition: pstypes.h:456
ULONG CapturedGroupsLength
Definition: pstypes.h:1410
SIZE_T CommitChargeLimit
Definition: pstypes.h:1294
PKWIN32_THREAD_CALLOUT ThreadCallout
Definition: pstypes.h:1626
struct _PEB_FREE_BLOCK * PPEB_FREE_BLOCK
PTOKEN_PRIVILEGES PrivilegesToDelete
Definition: pstypes.h:1521
struct _EJOB * Job
Definition: pstypes.h:1245
PVOID KeyedWaitValue
Definition: pstypes.h:1063
KAPC RateApc
Definition: pstypes.h:1037
_In_ PVOID Parameter
Definition: ldrtypes.h:241
struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS * PWIN32_OKAYTOCLOSEMETHOD_PARAMETERS
char * LPSTR
Definition: xmlstorage.h:182
ULONG Cookie
Definition: pstypes.h:1396
ULONGLONG WriteTransferCount
Definition: pstypes.h:1454
struct _TERMINATION_PORT * Next
Definition: pstypes.h:1022
struct _CLIENT_ID32 * PCLIENT_ID32
struct _INITIAL_PEB INITIAL_PEB
struct _WIN32_POWEREVENT_PARAMETERS WIN32_POWEREVENT_PARAMETERS
#define NTSYSAPI
Definition: ntoskrnl.h:14
ULONG PeakProcessMemoryUsed
Definition: pstypes.h:1459
VOID(NTAPI * PPEBLOCKROUTINE)(PVOID PebLock)
Definition: pstypes.h:636
struct _TERMINATION_PORT * PTERMINATION_PORT
ULONG ActiveProcesses
Definition: pstypes.h:1431
ULONG ForkFailed
Definition: pstypes.h:1343
_JOBOBJECTINFOCLASS
Definition: pstypes.h:418
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
NTSTATUS LastThreadExitStatus
Definition: pstypes.h:1285
NTSTATUS(NTAPI * PKWIN32_SESSION_CALLOUT)(_In_ PVOID Parameter)
Definition: pstypes.h:590
HANDLE UniqueProcessId
Definition: pstypes.h:1209
LONG KPRIORITY
Definition: compat.h:551
ULONG PdeUpdateNeeded
Definition: pstypes.h:1361
PKWIN32_SESSION_CALLOUT DesktopCloseProcedure
Definition: pstypes.h:1634
SIZE_T Return
Definition: pstypes.h:983
SIZE_T QuotaUsage[3]
Definition: pstypes.h:1211
KPRIORITY BasePriority
Definition: compat.h:680
ULONG Affinity
Definition: pstypes.h:1439
ULONG_PTR HardwareTrigger
Definition: pstypes.h:1239
PKSTART_ROUTINE StartAddress
Definition: pstypes.h:1097
ULONG ThreadIoPriority
Definition: pstypes.h:1131
uint32_t ULONG_PTR
Definition: typedefs.h:65
LARGE_INTEGER CreateTime
Definition: pstypes.h:1206
NTSTATUS ExitStatus
Definition: pstypes.h:1379
EPROCESS_QUOTA_ENTRY QuotaEntry[3]
Definition: pstypes.h:988
LARGE_INTEGER ExitTime
Definition: winternl.h:1061
PVOID DeviceMap
Definition: pstypes.h:1255
SIZE_T PeakNonPagedPoolUsage
Definition: pstypes.h:138
UCHAR PriorityClass
Definition: pstypes.h:1394
struct _APPHELP_CACHE_SERVICE_LOOKUP * PAPPHELP_CACHE_SERVICE_LOOKUP
ULONG NumaAware
Definition: pstypes.h:1320
ULONG CacheManagerCount
Definition: pstypes.h:1195
_APPHELPCACHESERVICECLASS
Definition: pstypes.h:930
struct _ETHREAD * ReaperLink
Definition: pstypes.h:1062
struct _WIN32_JOBCALLOUT_PARAMETERS * PWIN32_JOBCALLOUT_PARAMETERS
ULONG AccountingFolded
Definition: pstypes.h:1311
PKWIN32_SESSION_CALLOUT WindowStationDeleteProcedure
Definition: pstypes.h:1638
ULONG OwnsSessionWorkingSetShared
Definition: pstypes.h:1168
ULONG PFN_NUMBER
Definition: ke.h:8
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
PPS_IMPERSONATION_INFORMATION ImpersonationInfo
Definition: pstypes.h:1085
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:487
struct _WIN32_CALLOUTS_FPNS WIN32_CALLOUTS_FPNS
ULONG ProcessExiting
Definition: pstypes.h:1337
const struct _TEB_ACTIVE_FRAME_EX * PCTEB_ACTIVE_FRAME_EX
Definition: pstypes.h:721
struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION * PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
KSEMAPHORE AlpcWaitSemaphore
Definition: pstypes.h:1194
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo
Definition: pstypes.h:1538
ULONG ThreadInserted
Definition: pstypes.h:1118
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation
Definition: pstypes.h:1544
ULONG RefTraceEnabled
Definition: pstypes.h:1319
typedef NTSTATUS(NTAPI *PKWIN32_PROCESS_CALLOUT)(_In_ struct _EPROCESS *Process
ULONG ActiveThreads
Definition: pstypes.h:1278
PVOID Win32StartAddress
Definition: pstypes.h:1094
ULONG ActiveExWorker
Definition: pstypes.h:1142
ULONG OwnsSessionWorkingSetExclusive
Definition: pstypes.h:1167
struct _PROCESS_DEVICEMAP_INFORMATION::@3908::@3909 Set
enum _PROCESSINFOCLASS PROCESSINFOCLASS
struct _WIN32_JOBCALLOUT_PARAMETERS WIN32_JOBCALLOUT_PARAMETERS
ULONGLONG ReadTransferCount
Definition: pstypes.h:1453
struct _PROCESS_PRIORITY_CLASS PROCESS_PRIORITY_CLASS
struct _PROCESS_ACCESS_TOKEN PROCESS_ACCESS_TOKEN
PVOID Win32WindowStation
Definition: pstypes.h:1250
BOOLEAN ReadImageFileExecOptions
Definition: pstypes.h:655
PKWIN32_JOB_CALLOUT JobCallout
Definition: pstypes.h:1630
unsigned char BOOLEAN
struct _KERNEL_USER_TIMES * PKERNEL_USER_TIMES
VOID(NTAPI * PLEGO_NOTIFY_ROUTINE)(_In_ PKTHREAD Thread)
Definition: pstypes.h:609
LIST_ENTRY LpcReplyChain
Definition: pstypes.h:1050
BOOLEAN ImageUsesLargePages
Definition: pstypes.h:663
ULONG SchedulingClass
Definition: pstypes.h:1449
struct _PEB * Peb
Definition: pstypes.h:1286
TEB_ACTIVE_FRAME BasicFrame
Definition: pstypes.h:718
NTSTATUS(NTAPI * PPOST_PROCESS_INIT_ROUTINE)(VOID)
Definition: pstypes.h:616
ULONG SameThreadPassiveFlags
Definition: pstypes.h:1150
LARGE_INTEGER OtherTransferCount
Definition: pstypes.h:1293
ULONG ReportPhysicalPageChanges
Definition: pstypes.h:1316
#define _Out_
Definition: no_sal2.h:323
PVOID AlpcMessage
Definition: pstypes.h:1190
PVOID StackBase
Definition: pstypes.h:686
LIST_ENTRY ProcessListHead
Definition: pstypes.h:1423
struct _WIN32_CLOSEMETHOD_PARAMETERS * PWIN32_CLOSEMETHOD_PARAMETERS
ULONG SpareUlong0
Definition: pstypes.h:1108
struct _TEB_ACTIVE_FRAME_EX * PTEB_ACTIVE_FRAME_EX
LARGE_INTEGER ThisPeriodTotalUserTime
Definition: pstypes.h:1427
PKWIN32_SESSION_CALLOUT DesktopOkToCloseProcedure
Definition: pstypes.h:1633
ULONG Outswapped
Definition: pstypes.h:1342
LIST_ENTRY ThreadListHead
Definition: pstypes.h:1271
enum _PSW32THREADCALLOUTTYPE PSW32THREADCALLOUTTYPE
ULONG MemberLevel
Definition: pstypes.h:1470
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1433
PKWIN32_SESSION_CALLOUT DesktopDeleteProcedure
Definition: pstypes.h:1635
PVOID SectionObject
Definition: pstypes.h:1246
ULONG HandleTableRundown
Definition: pstypes.h:1317
PVOID VdmObjects
Definition: pstypes.h:1254
struct _TERMINATION_PORT * TerminationPort
Definition: pstypes.h:1061
TEB_ACTIVE_FRAME_CONTEXT BasicContext
Definition: pstypes.h:703
ULONG_PTR InheritedFromUniqueProcessId
Definition: pstypes.h:340
struct _TEB_ACTIVE_FRAME_CONTEXT_EX * PTEB_ACTIVE_FRAME_CONTEXT_EX
ULONG CreateReported
Definition: pstypes.h:1335
EX_PUSH_LOCK AddressCreationLock
Definition: pstypes.h:1232
struct _JOBOBJECT_BASIC_PROCESS_ID_LIST * PJOBOBJECT_BASIC_PROCESS_ID_LIST
PVOID Session
Definition: pstypes.h:1267
ULONG MemberLevel
Definition: pstypes.h:971
BOOLEAN BeingDebugged
Definition: pstypes.h:656
SE_AUDIT_PROCESS_CREATION_INFO SeAuditProcessCreationInfo
Definition: pstypes.h:1297
FAST_MUTEX
Definition: extypes.h:17
UNICODE_STRING ImageName
Definition: pstypes.h:945
ULONG CurrentJobMemoryUsed
Definition: pstypes.h:1461
PVOID SecurityPort
Definition: pstypes.h:1272
struct _PAGEFAULT_HISTORY * PPAGEFAULT_HISTORY
LIST_ENTRY SessionProcessLinks
Definition: pstypes.h:1216
struct _PROCESS_SESSION_INFORMATION * PPROCESS_SESSION_INFORMATION
struct _WIN32_PARSEMETHOD_PARAMETERS WIN32_PARSEMETHOD_PARAMETERS
struct _WIN32_DELETEMETHOD_PARAMETERS * PWIN32_DELETEMETHOD_PARAMETERS
struct _TEB_ACTIVE_FRAME * PTEB_ACTIVE_FRAME
ULONG AlpcReceiveAttributeSet
Definition: pstypes.h:1191
enum _THREADINFOCLASS THREADINFOCLASS
UCHAR SubSystemMinorVersion
Definition: pstypes.h:1389
ULONG ModifiedPageCount
Definition: pstypes.h:1304
ULONG VmDeleted
Definition: pstypes.h:1340
_PSW32JOBCALLOUTTYPE
Definition: pstypes.h:479
struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION * PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION
ULONG VmTopDown
Definition: pstypes.h:1359
struct _TEB_ACTIVE_FRAME_CONTEXT_EX TEB_ACTIVE_FRAME_CONTEXT_EX
ULONG MaximumWorkingSetSize
Definition: pstypes.h:1437
struct _PROCESS_FOREGROUND_BACKGROUND * PPROCESS_FOREGROUND_BACKGROUND
PVOID CompletionPort
Definition: pstypes.h:1446
EX_PUSH_LOCK MemoryLimitsLock
Definition: pstypes.h:1467
ULONG ExitProcessReported
Definition: pstypes.h:1313
ULONG NeedsHandleRundown
Definition: pstypes.h:1318
struct _EPROCESS_QUOTA_ENTRY * PEPROCESS_QUOTA_ENTRY
ULONG UniqueProcess
Definition: pstypes.h:725
EX_FAST_REF Token
Definition: pstypes.h:1229
struct _POOLED_USAGE_AND_LIMITS * PPOOLED_USAGE_AND_LIMITS
uint64_t ULONGLONG
Definition: typedefs.h:67
LARGE_INTEGER CreateTime
Definition: winternl.h:1060
PKWIN32_GLOBALATOMTABLE_CALLOUT GlobalAtomTableCallout
Definition: pstypes.h:1627
CLIENT_ID Cid
Definition: pstypes.h:1070
LIST_ENTRY JobLinks
Definition: pstypes.h:1422
ULONG NewProcessReported
Definition: pstypes.h:1312
UCHAR ExceptionPortState
Definition: pstypes.h:1223
_PSW32THREADCALLOUTTYPE
Definition: pstypes.h:489
struct _WIN32_POWEREVENT_PARAMETERS * PWIN32_POWEREVENT_PARAMETERS
struct _EPROCESS EPROCESS
HANDLE JobHandle
Definition: pstypes.h:970
PKWIN32_SESSION_CALLOUT WindowStationCloseProcedure
Definition: pstypes.h:1637
_APPCOMPAT_USERFLAGS_HIGHPART
Definition: pstypes.h:819
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
PVOID AweInfo
Definition: pstypes.h:1296
SIZE_T CommitChargePeak
Definition: pstypes.h:1295
ULONG SkipCreationMsg
Definition: pstypes.h:1127
struct _JOB_SET_ARRAY JOB_SET_ARRAY
struct _TEB_ACTIVE_FRAME_EX TEB_ACTIVE_FRAME_EX
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
ULONG ImagePathHash
Definition: pstypes.h:1280
_In_ PSTORAGE_PROPERTY_ID _Outptr_ PSTORAGE_DESCRIPTOR_HEADER * Descriptor
Definition: cdrom.h:932
ULONG BreakOnTermination
Definition: pstypes.h:1126
enum _POWERSTATETASK POWERSTATETASK
ULONG_PTR TopLevelIrp
Definition: pstypes.h:1087
PVOID CompletionKey
Definition: pstypes.h:1447
struct _PS_JOB_TOKEN_FILTER PS_JOB_TOKEN_FILTER
PSPOWEREVENTTYPE EventNumber
Definition: pstypes.h:1558
NTSTATUS(NTAPI * PKWIN32_POWEREVENT_CALLOUT)(_In_ struct _WIN32_POWEREVENT_PARAMETERS *Parameters)
Definition: pstypes.h:536
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
struct _WIN32_CLOSEMETHOD_PARAMETERS WIN32_CLOSEMETHOD_PARAMETERS
enum _PSPOWEREVENTTYPE PSPOWEREVENTTYPE
ULONG ActiveImpersonationInfo
Definition: pstypes.h:1123
struct _PAGEFAULT_HISTORY PAGEFAULT_HISTORY
ULONG SmapAllowed
Definition: pstypes.h:1363
LARGE_INTEGER WriteTransferCount
Definition: pstypes.h:1292
ULONG DefaultIoPriority
Definition: pstypes.h:1369
PVOID StackLimit
Definition: pstypes.h:687
ULONGLONG TargetGEneration
Definition: pstypes.h:1036
BOOLEAN IsLegacyProcess
Definition: pstypes.h:666
unsigned __int64 ULONG64
Definition: imports.h:198
ULONG VdmAllowed
Definition: pstypes.h:1362
PLUID_AND_ATTRIBUTES CapturedPrivileges
Definition: pstypes.h:1412
PEPROCESS_QUOTA_BLOCK QuotaBlock
Definition: pstypes.h:1248
ULONG SetTimerResolution
Definition: pstypes.h:1346
struct _PROCESS_PRIORITY_CLASS * PPROCESS_PRIORITY_CLASS
unsigned char UCHAR
Definition: xmlstorage.h:181
PVOID * Win32Process
Definition: pstypes.h:1244
LARGE_INTEGER PerJobUserTimeLimit
Definition: pstypes.h:1434
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:887
KSPIN_LOCK SpinLock
Definition: pstypes.h:1001
PKWIN32_SESSION_CALLOUT DesktopOpenProcedure
Definition: pstypes.h:1632
ULONG CrossThreadFlags
Definition: pstypes.h:1136
LARGE_INTEGER TotalKernelTime
Definition: pstypes.h:1426
ULONG ProcessInserted
Definition: pstypes.h:1365
ULONG CapturedSidsLength
Definition: pstypes.h:1407
LIST_ENTRY ActiveProcessLinks
Definition: pstypes.h:1210
ULONG JobMemoryLimit
Definition: pstypes.h:1458
POWER_ACTION
Definition: ntpoapi.h:122
PSID_AND_ATTRIBUTES CapturedGroups
Definition: pstypes.h:1409
_PSPOWEREVENTTYPE
Definition: pstypes.h:436
PVOID AllocatedStackBase
Definition: pstypes.h:688
#define VOID
Definition: acefi.h:82
PSECURITY_QUALITY_OF_SERVICE SecurityQos
Definition: pstypes.h:1619
ULONG ReadClusterSize
Definition: pstypes.h:1106
PPS_JOB_TOKEN_FILTER Filter
Definition: pstypes.h:1444
EX_FAST_REF PrefetchTrace
Definition: pstypes.h:1287
struct _PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION
Definition: ketypes.h:535
ULONG SecurityLimitFlags
Definition: pstypes.h:1442
EX_RUNDOWN_REF RundownProtect
Definition: pstypes.h:1208
PDEVICE_OBJECT DeviceToVerify
Definition: pstypes.h:1088
ULONG ProcessMemoryLimit
Definition: pstypes.h:1457
Definition: typedefs.h:119
PVOID LdtInformation
Definition: pstypes.h:1252
KPROCESS Pcb
Definition: pstypes.h:1204
ULONGLONG OtherOperationCount
Definition: pstypes.h:1452
ULONG OwnsSystemWorkingSetExclusive
Definition: pstypes.h:1165
ULONG TotalProcesses
Definition: pstypes.h:1430
PVOID ExtensionIdentifier
Definition: pstypes.h:719
ULONG SuppressSymbolLoad
Definition: pstypes.h:1170
UCHAR PriorityClass
Definition: pstypes.h:1440
PPAGEFAULT_HISTORY WorkingSetWatch
Definition: pstypes.h:1249
struct _PS_IMPERSONATION_INFORMATION PS_IMPERSONATION_INFORMATION
PROCESS_WS_WATCH_INFORMATION WatchInfo[1]
Definition: pstypes.h:1003
ULONG SystemThread
Definition: pstypes.h:1124
PVOID LockedPagesList
Definition: pstypes.h:1270
PVOID VadFreeHint
Definition: pstypes.h:1253
ULONG ActiveProcessLimit
Definition: pstypes.h:1438
NTSTATUS(NTAPI * PGDI_BATCHFLUSH_ROUTINE)(VOID)
Definition: pstypes.h:554
MMSUPPORT Vm
Definition: pstypes.h:1298
_APPCOMPAT_FLAGS
Definition: pstypes.h:749
struct _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
ULONG ImageNotifyDone
Definition: pstypes.h:1360
ULONG LastReportMemory
Definition: pstypes.h:1315
struct _EPROCESS_QUOTA_BLOCK EPROCESS_QUOTA_BLOCK
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1493
_PROCESSINFOCLASS
Definition: winternl.h:392
enum _OB_OPEN_REASON OB_OPEN_REASON
SYSTEM_POWER_STATE MinSystemState
Definition: pstypes.h:1566
PVOID OfsChain
Definition: pstypes.h:1056
Definition: compat.h:525
ULONG Flags
Definition: pstypes.h:972
const struct _TEB_ACTIVE_FRAME * PCTEB_ACTIVE_FRAME
Definition: pstypes.h:714
#define _In_
Definition: no_sal2.h:204
struct _INITIAL_PEB * PINITIAL_PEB
PHANDLE_TABLE ObjectTable
Definition: pstypes.h:1228
PMM_AVL_TABLE PhysicalVadRoot
Definition: pstypes.h:1240
ULONG_PTR SIZE_T
Definition: typedefs.h:80
HANDLE Mutant
Definition: pstypes.h:676
ULONG OverrideAddressSpace
Definition: pstypes.h:1355
ULONG ExceptionPortValue
Definition: pstypes.h:1222
NTSTATUS(NTAPI * PKWIN32_DELETEMETHOD_CALLOUT)(_In_ struct _WIN32_DELETEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:578
ULONG LaunchPrefetched
Definition: pstypes.h:1357
ULONG HasAddressSpace
Definition: pstypes.h:1356
struct _WIN32_DELETEMETHOD_PARAMETERS WIN32_DELETEMETHOD_PARAMETERS
NTSTATUS ExitStatus
Definition: pstypes.h:1055
ULONGLONG OtherTransferCount
Definition: pstypes.h:1455
ULONG LpcExitThreadCalled
Definition: pstypes.h:1157
LIST_ENTRY AlpcWaitListEntry
Definition: pstypes.h:1193
enum _PSW32JOBCALLOUTTYPE PSW32JOBCALLOUTTYPE
struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT JOBOBJECT_ASSOCIATE_COMPLETION_PORT
struct _TEB_ACTIVE_FRAME_CONTEXT * PTEB_ACTIVE_FRAME_CONTEXT
struct _TEB_ACTIVE_FRAME * Previous
Definition: pstypes.h:711
SIZE_T Usage
Definition: pstypes.h:980
struct _PROCESS_SESSION_INFORMATION PROCESS_SESSION_INFORMATION
PVOID DebugPort
Definition: pstypes.h:1217
ULONG PendingRatecontrol
Definition: pstypes.h:1133
USHORT Spare7
Definition: pstypes.h:1381
unsigned short USHORT
Definition: pedump.c:61
ULONG SparePsFlags1
Definition: pstypes.h:1371
struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_ACCOUNTING_INFORMATION
ULONG MinimumWorkingSetSize
Definition: pstypes.h:1436
struct _ETHREAD ETHREAD
ULONG_PTR KAFFINITY
Definition: compat.h:85
ULONG UIRestrictionsClass
Definition: pstypes.h:1441
struct _WIN32_CALLOUTS_FPNS * PWIN32_CALLOUTS_FPNS
NTSTATUS(NTAPI * PKWIN32_CLOSEMETHOD_CALLOUT)(_In_ struct _WIN32_CLOSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:572
LIST_ENTRY QuotaList
Definition: pstypes.h:989
struct _CLIENT_ID64 * PCLIENT_ID64
struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT * PJOBOBJECT_ASSOCIATE_COMPLETION_PORT
ULONG Terminated
Definition: pstypes.h:1116
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
enum _APPHELPCACHESERVICECLASS APPHELPCACHESERVICECLASS
SIZE_T Limit
Definition: pstypes.h:981
ULONG TotalPageFaultCount
Definition: pstypes.h:1429
ULONG OwnsProcessWorkingSetShared
Definition: pstypes.h:1164
PVOID EtwDataSource
Definition: pstypes.h:1257
UCHAR ActiveFaultCount
Definition: pstypes.h:1185
struct _APPHELP_CACHE_SERVICE_LOOKUP APPHELP_CACHE_SERVICE_LOOKUP
ULONG CapturedPrivilegeCount
Definition: pstypes.h:1411
unsigned int * PULONG
Definition: retypes.h:1
LIST_ENTRY JobLinks
Definition: pstypes.h:1269
PETHREAD RotateInProgress
Definition: pstypes.h:1233
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION
NTSTATUS(NTAPI * PKWIN32_OPENMETHOD_CALLOUT)(_In_ struct _WIN32_OPENMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:560
ULONG DeprioritizeViews
Definition: pstypes.h:1349
LIST_ENTRY JobSetLinks
Definition: pstypes.h:1469
struct _EPROCESS_QUOTA_BLOCK * PEPROCESS_QUOTA_BLOCK
ULONGLONG ReadOperationCount
Definition: pstypes.h:1450
ULONG DefaultHardErrorProcessing
Definition: pstypes.h:1284
struct _WIN32_OPENMETHOD_PARAMETERS WIN32_OPENMETHOD_PARAMETERS
ULONG SessionId
Definition: pstypes.h:1448
struct _THREAD_BASIC_INFORMATION * PTHREAD_BASIC_INFORMATION
ULONG Flags
Definition: pstypes.h:1377
ULONG NoDebugInherit
Definition: pstypes.h:1336
LARGE_INTEGER OtherOperationCount
Definition: pstypes.h:1290
LARGE_INTEGER ReadTransferCount
Definition: pstypes.h:1291
_THREADINFOCLASS
Definition: compat.h:682
ULONG ProcessDelete
Definition: pstypes.h:1338
const struct _TEB_ACTIVE_FRAME_CONTEXT_EX * PCTEB_ACTIVE_FRAME_CONTEXT_EX
Definition: pstypes.h:706
PVOID FreeTebHint
Definition: pstypes.h:1258
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
ULONG DefaultPagePriority
Definition: pstypes.h:1322
ULONGLONG WriteOperationCount
Definition: pstypes.h:1451
struct _WIN32_OPENMETHOD_PARAMETERS * PWIN32_OPENMETHOD_PARAMETERS
PSW32JOBCALLOUTTYPE CalloutType
Definition: pstypes.h:1574
struct _INITIAL_TEB INITIAL_TEB
ULONG ProtectedProcess
Definition: pstypes.h:1321
struct tagContext Context
Definition: acpixf.h:1034
ULONG ERESOURCE
Definition: env_spec_w32.h:594
CHAR ImageFileName[16]
Definition: pstypes.h:1268
PKWIN32_SESSION_CALLOUT WindowStationOpenProcedure
Definition: pstypes.h:1640
unsigned int ULONG
Definition: retypes.h:1
ULONG KeyedEventInUse
Definition: pstypes.h:1145
ULONG ProcessDeleteSelf
Definition: pstypes.h:1323
PVOID PaeTop
Definition: pstypes.h:1276
Definition: pstypes.h:978
struct _JOBOBJECT_BASIC_PROCESS_ID_LIST JOBOBJECT_BASIC_PROCESS_ID_LIST
struct _EJOB EJOB
EX_PUSH_LOCK ProcessLock
Definition: pstypes.h:1205
ULONG PriorityRegionActive
Definition: pstypes.h:1172
struct _PS_IMPERSONATION_INFORMATION * PPS_IMPERSONATION_INFORMATION
const char * PCSTR
Definition: typedefs.h:52
PETHREAD ForkInProgress
Definition: pstypes.h:1238
ULONG OwnsProcessWorkingSetExclusive
Definition: pstypes.h:1163
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION * PJOBOBJECT_BASIC_LIMIT_INFORMATION
POWERSTATETASK PowerStateTask
Definition: pstypes.h:1568
NTSTATUS(NTAPI * PKWIN32_OKTOCLOSEMETHOD_CALLOUT)(_In_ struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:566
PUNICODE_STRING RemainingName
Definition: pstypes.h:1617
ULONG ExWorkerCanWaitUser
Definition: pstypes.h:1143
struct _EJOB * PEJOB
enum _PSPROCESSPRIORITYMODE PSPROCESSPRIORITYMODE
PKWIN32_SESSION_CALLOUT WindowStationParseProcedure
Definition: pstypes.h:1639
enum _APPCOMPAT_USERFLAGS APPCOMPAT_USERFLAGS
ULONG AddressSpaceInitialized
Definition: pstypes.h:1345
UCHAR DisablePageFaultClustering
Definition: pstypes.h:1184
ULONG SameThreadApcFlags
Definition: pstypes.h:1177
USHORT SubSystemVersion
Definition: pstypes.h:1392
ULONG Wow64VaSpace4Gb
Definition: pstypes.h:1344
PKWIN32_PROCESS_CALLOUT ProcessCallout
Definition: pstypes.h:1625
PVOID PreviousStackBase
Definition: pstypes.h:684
EX_PUSH_LOCK ThreadLock
Definition: pstypes.h:1102
struct _WIN32_PARSEMETHOD_PARAMETERS * PWIN32_PARSEMETHOD_PARAMETERS
PVOID PreviousStackLimit
Definition: pstypes.h:685
_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:13
struct _CLIENT_ID32 CLIENT_ID32
LARGE_INTEGER ExitTime
Definition: pstypes.h:1207
ULONG HardErrorsAreDisabled
Definition: pstypes.h:1125
PVOID SectionBaseAddress
Definition: pstypes.h:1247
SIZE_T VirtualSize
Definition: pstypes.h:1215
SIZE_T CommitCharge
Definition: pstypes.h:1213
struct _PEB_FREE_BLOCK * Next
Definition: ntddk_ex.h:230
struct _PSP_RATE_APC * PPSP_RATE_APC
MM_AVL_TABLE VadRoot
Definition: pstypes.h:1395
ULONG HideFromDebugger
Definition: pstypes.h:1122
_Out_ PUNICODE_STRING CompleteName
Definition: pstypes.h:1616
ULONG UniqueThread
Definition: pstypes.h:726
enum _APPCOMPAT_USERFLAGS_HIGHPART APPCOMPAT_USERFLAGS_HIGHPART
struct _JOBOBJECT_BASIC_UI_RESTRICTIONS * PJOBOBJECT_BASIC_UI_RESTRICTIONS
ULONG64 UniqueThread
Definition: pstypes.h:732
LPFNPSPCALLBACK Callback
Definition: desk.c:112
ULONGLONG ExcessCycles
Definition: pstypes.h:1034
LARGE_INTEGER KernelTime
Definition: winternl.h:1062
struct _TERMINATION_PORT TERMINATION_PORT
struct _JOBOBJECT_BASIC_UI_RESTRICTIONS JOBOBJECT_BASIC_UI_RESTRICTIONS
struct _PEB_FREE_BLOCK PEB_FREE_BLOCK
LIST_ENTRY IrpList
Definition: pstypes.h:1086
PKWIN32_WIN32DATACOLLECTION_CALLOUT Win32DataCollectionProcedure
Definition: pstypes.h:1642
POBJECT_TYPE NTSYSAPI PsJobType
Definition: job.c:20
BOOLEAN IsProtectedProcess
Definition: pstypes.h:665
struct _TEB_ACTIVE_FRAME_CONTEXT TEB_ACTIVE_FRAME_CONTEXT
ULONG InjectInpageErrors
Definition: pstypes.h:1358
ULONG ACCESS_MASK
Definition: nt_native.h:40
SIZE_T Peak
Definition: pstypes.h:982
ULONG CreateMsgSent
Definition: pstypes.h:1130
ULONG ThreadPagePriority
Definition: pstypes.h:1132
struct _TEB_ACTIVE_FRAME TEB_ACTIVE_FRAME
ULONG LpcReceivedMsgIdValid
Definition: pstypes.h:1156
BOOLEAN InheritedAddressSpace
Definition: pstypes.h:654
PFN_NUMBER WorkingSetPage
Definition: pstypes.h:1230
ULONG RateApcState
Definition: pstypes.h:1147
ULONG PeakJobMemoryUsed
Definition: pstypes.h:1460
IO_COUNTERS IoInfo
Definition: pstypes.h:1456
C_ASSERT(sizeof(PROCESS_PRIORITY_CLASS)==2)
struct _JOB_SET_ARRAY * PJOB_SET_ARRAY
ULONG ProcessInSession
Definition: pstypes.h:1354
ULONG Spare
Definition: pstypes.h:1159
NTSTATUS(NTAPI * PKWIN32_PARSEMETHOD_CALLOUT)(_In_ struct _WIN32_PARSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:584
KSPIN_LOCK ActiveTimerListLock
Definition: pstypes.h:1068