ReactOS  0.4.15-dev-489-g75a0787
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 {
915  BOOLEAN Foreground;
916  UCHAR PriorityClass;
918 
920 {
923 
924 //
925 // Apphelp SHIM Cache
926 //
928 {
934 
938 
939 
941 {
945 
946 
947 //
948 // Thread Information Structures for NtQueryProcessInformation
949 //
950 typedef struct _THREAD_BASIC_INFORMATION
951 {
959 
960 #ifndef NTOS_MODE_USER
961 
962 //
963 // Job Set Array
964 //
965 typedef struct _JOB_SET_ARRAY
966 {
971 
972 //
973 // EPROCESS Quota Structures
974 //
975 typedef struct _EPROCESS_QUOTA_ENTRY
976 {
982 
983 typedef struct _EPROCESS_QUOTA_BLOCK
984 {
990 
991 //
992 // Process Pagefault History
993 //
994 typedef struct _PAGEFAULT_HISTORY
995 {
1002 
1003 //
1004 // Process Impersonation Information
1005 //
1007 {
1013 
1014 //
1015 // Process Termination Port
1016 //
1017 typedef struct _TERMINATION_PORT
1018 {
1022 
1023 //
1024 // Per-Process APC Rate Limiting
1025 //
1026 typedef struct _PSP_RATE_APC
1027 {
1028  union
1029  {
1032  };
1036 
1037 //
1038 // Executive Thread (ETHREAD)
1039 //
1040 typedef struct _ETHREAD
1041 {
1044  union
1045  {
1049  };
1050  union
1051  {
1054  };
1056  union
1057  {
1061 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1063 #endif
1064  };
1068 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1070 #else
1071  union
1072  {
1073  KSEMAPHORE LpcReplySemaphore;
1075  };
1076  union
1077  {
1078  PVOID LpcReplyMessage;
1079  PVOID LpcWaitingOnPort;
1080  };
1081 #endif
1086 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1088 #else
1089  struct _EPROCESS *ThreadsProcess;
1090 #endif
1092  union
1093  {
1096  };
1100 #if (NTDDI_VERSION < NTDDI_LONGHORN)
1101  ULONG LpcReplyMessageId;
1102 #endif
1104 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1106 #else
1108 #endif
1109  union
1110  {
1111  struct
1112  {
1114 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1116 #else
1117  ULONG DeadThread:1;
1118 #endif
1126 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1131 #endif
1132  };
1134  };
1135  union
1136  {
1137  struct
1138  {
1143 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1145 #endif
1146  };
1148  };
1149  union
1150  {
1151  struct
1152  {
1155 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1157 #else
1158  ULONG AddressSpaceOwner:1;
1159 #endif
1166 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1170 #else
1171  ULONG ApcNeeded:1;
1172 #endif
1173  };
1175  };
1176 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1178 #else
1179  UCHAR ForwardClusterOnly;
1180 #endif
1183 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1185  union
1186  {
1189  };
1193 #endif
1194 } ETHREAD;
1195 
1196 //
1197 // Executive Process (EPROCESS)
1198 //
1199 typedef struct _EPROCESS
1200 {
1208  SIZE_T QuotaUsage[3]; /* 0=PagedPool, 1=NonPagedPool, 2=Pagefile */
1209  SIZE_T QuotaPeak[3]; /* ditto */
1215 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1216  union
1217  {
1221  };
1222 #else
1223  PVOID ExceptionPort;
1224 #endif
1228 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1231 #else
1233  KSPIN_LOCK HyperSpaceLock;
1234 #endif
1242  struct _EJOB *Job;
1253 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1256 #else
1257  PVOID Spare0[3];
1258 #endif
1259  union
1260  {
1263  };
1270 #ifdef _M_AMD64
1271  struct _WOW64_PROCESS *Wow64Process;
1272 #else
1274 #endif
1276 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1278 #else
1280 #endif
1283  struct _PEB* Peb;
1296 #ifdef _M_AMD64
1297  ULONG Spares[2];
1298 #else
1300 #endif
1302 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1303  union
1304  {
1305  struct
1306  {
1322  };
1324  };
1325 #else
1326  ULONG JobStatus;
1327 #endif
1328  union
1329  {
1330  struct
1331  {
1345 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1347 #else
1348  ULONG SessionCreationUnderway:1;
1349 #endif
1361 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1363 #else
1364  ULONG CreateFailed:1;
1365 #endif
1367 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1369 #else
1370  ULONG Spare1:1;
1371  ULONG Spare2:1;
1372 #endif
1373  };
1375  };
1377 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1379 #else
1380  USHORT NextPageColor;
1381 #endif
1382  union
1383  {
1384  struct
1385  {
1388  };
1390  };
1394 } EPROCESS;
1395 
1396 //
1397 // Job Token Filter Data
1398 //
1399 #include <pshpack1.h>
1400 typedef struct _PS_JOB_TOKEN_FILTER
1401 {
1412 
1413 //
1414 // Executive Job (EJOB)
1415 //
1416 typedef struct _EJOB
1417 {
1459 #if (NTDDI_VERSION >= NTDDI_WINXP) && (NTDDI_VERSION < NTDDI_WS03)
1461 #elif (NTDDI_VERSION >= NTDDI_WS03) && (NTDDI_VERSION < NTDDI_LONGHORN)
1463 #elif (NTDDI_VERSION >= NTDDI_LONGHORN)
1465 #endif
1469 } EJOB, *PEJOB;
1470 #include <poppack.h>
1471 
1472 //
1473 // Job Information Structures for NtQueryInformationJobObject
1474 //
1475 
1477 {
1487 
1489 {
1500 
1502 {
1507 
1509 {
1512 
1514 {
1521 
1523 {
1526 
1528 {
1532 
1534 {
1538 
1540 {
1548 
1549 
1550 //
1551 // Win32K Callback Registration Data
1552 //
1554 {
1558 
1560 {
1567 
1569 {
1574 
1576 {
1583 
1585 {
1591 
1593 {
1600 
1602 {
1605 
1607 {
1619 
1620 typedef struct _WIN32_CALLOUTS_FPNS
1621 {
1622  PKWIN32_PROCESS_CALLOUT ProcessCallout;
1638 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1640 #endif
1642 
1643 #endif // !NTOS_MODE_USER
1644 
1645 #ifdef __cplusplus
1646 }; // extern "C"
1647 #endif
1648 
1649 #endif // _PSTYPES_H
KSEMAPHORE KeyedWaitSemaphore
Definition: pstypes.h:1069
LARGE_INTEGER WriteOperationCount
Definition: pstypes.h:1286
PCTEB_ACTIVE_FRAME_CONTEXT Context
Definition: pstypes.h:712
ULONG LimitFlags
Definition: pstypes.h:1432
PKWIN32_POWERSTATE_CALLOUT PowerStateCallout
Definition: pstypes.h:1626
enum _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION * PJOBOBJECT_EXTENDED_LIMIT_INFORMATION
_APPCOMPAT_USERFLAGS
Definition: pstypes.h:775
LIST_ENTRY PostBlockList
Definition: pstypes.h:1055
ULONGLONG Filler
Definition: pstypes.h:1262
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:1299
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:1046
HARDWARE_PTE PageDirectoryPte
Definition: pstypes.h:1261
ULONG EndOfJobTimeAction
Definition: pstypes.h:1442
ULONG Wow64SplitPages
Definition: pstypes.h:1336
LIST_ENTRY ThreadListEntry
Definition: pstypes.h:1097
LARGE_INTEGER ReadOperationCount
Definition: pstypes.h:1285
ULONG JobFlags
Definition: pstypes.h:1468
ULONG Spare1
Definition: pstypes.h:1168
NTSTATUS(NTAPI * PKWIN32_GLOBALATOMTABLE_CALLOUT)(VOID)
Definition: pstypes.h:530
struct _PROCESS_FOREGROUND_BACKGROUND PROCESS_FOREGROUND_BACKGROUND
ULONG SkipTerminationMsg
Definition: pstypes.h:1125
PVOID Win32StartParameter
Definition: pstypes.h:1062
struct _WIN32_POWERSTATE_PARAMETERS * PWIN32_POWERSTATE_PARAMETERS
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: pstypes.h:1011
ULONG CapturedGroupCount
Definition: pstypes.h:1405
Type
Definition: Type.h:6
ULONG ReportCommitChanges
Definition: pstypes.h:1311
KAFFINITY AffinityMask
Definition: compat.h:588
PKWIN32_SESSION_CALLOUT WindowStationOkToCloseProcedure
Definition: pstypes.h:1633
enum _APPCOMPAT_FLAGS APPCOMPAT_FLAGS
OB_OPEN_REASON OpenReason
Definition: pstypes.h:1577
UCHAR CacheManagerActive
Definition: pstypes.h:1177
SINGLE_LIST_ENTRY NextApc
Definition: pstypes.h:1030
struct _EPROCESS_QUOTA_ENTRY EPROCESS_QUOTA_ENTRY
ULONG WriteWatch
Definition: pstypes.h:1350
Definition: ntbasedef.h:635
ULONG Flags2
Definition: pstypes.h:1323
ULONG OwnsSystemWorkingSetShared
Definition: pstypes.h:1163
PGDI_BATCHFLUSH_ROUTINE BatchFlushRoutine
Definition: pstypes.h:1628
ULONG BreakOnTermination
Definition: pstypes.h:1344
SIZE_T QuotaPeak[3]
Definition: pstypes.h:1209
BOOLEAN BitField
Definition: pstypes.h:659
LIST_ENTRY KeyedWaitChain
Definition: pstypes.h:1048
HANDLE InheritedFromUniqueProcessId
Definition: pstypes.h:1248
PPSP_RATE_APC RateControlApc
Definition: pstypes.h:1087
SIZE_T PeakVirtualSize
Definition: pstypes.h:1211
LARGE_INTEGER TotalUserTime
Definition: pstypes.h:1422
ULONG CurrentIndex
Definition: pstypes.h:996
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:1410
struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION JOBOBJECT_END_OF_JOB_TIME_INFORMATION
UCHAR SubSystemMajorVersion
Definition: pstypes.h:1387
ULONG MemoryMaker
Definition: pstypes.h:1141
char CHAR
Definition: xmlstorage.h:175
LARGE_INTEGER CreateTime
Definition: pstypes.h:1043
LARGE_INTEGER ThisPeriodTotalKernelTime
Definition: pstypes.h:1425
KEVENT Event
Definition: pstypes.h:1418
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:1098
struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS WIN32_OKAYTOCLOSEMETHOD_PARAMETERS
KTHREAD Tcb
Definition: pstypes.h:1042
PVOID ExceptionPortData
Definition: pstypes.h:1218
PFN_NUMBER NumberOfPrivatePages
Definition: pstypes.h:1239
PSID_AND_ATTRIBUTES CapturedSids
Definition: pstypes.h:1403
struct _POOLED_USAGE_AND_LIMITS POOLED_USAGE_AND_LIMITS
ULONG LpcReceivedMessageId
Definition: pstypes.h:1095
ULONG JobNotReallyActive
Definition: pstypes.h:1307
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:1421
struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
LIST_ENTRY ActiveTimerListHead
Definition: pstypes.h:1066
ULONG AlpcMessageId
Definition: pstypes.h:1184
ULONG TotalTerminatedProcesses
Definition: pstypes.h:1429
NTSTATUS(NTAPI * PKWIN32_POWERSTATE_CALLOUT)(_In_ struct _WIN32_POWERSTATE_PARAMETERS *Parameters)
Definition: pstypes.h:542
PVOID CloneRoot
Definition: pstypes.h:1238
struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION PJOBOBJECT_END_OF_JOB_TIME_INFORMATION
PKWIN32_POWEREVENT_CALLOUT PowerEventCallout
Definition: pstypes.h:1625
NTSTATUS(NTAPI * PKWIN32_JOB_CALLOUT)(_In_ struct _WIN32_JOBCALLOUT_PARAMETERS *Parameters)
Definition: pstypes.h:548
ULONG OutswapEnabled
Definition: pstypes.h:1338
PFN_NUMBER NumberOfLockedPages
Definition: pstypes.h:1240
struct _WIN32_POWERSTATE_PARAMETERS WIN32_POWERSTATE_PARAMETERS
ULONG ProcessVerifierTarget
Definition: pstypes.h:1321
PVOID Token
Definition: pstypes.h:1440
struct _PROCESS_DEVICEMAP_INFORMATION * PPROCESS_DEVICEMAP_INFORMATION
KPROCESSOR_MODE AccessMode
Definition: pstypes.h:1611
_POWERSTATETASK
Definition: pstypes.h:456
ULONG CapturedGroupsLength
Definition: pstypes.h:1407
SIZE_T CommitChargeLimit
Definition: pstypes.h:1291
PKWIN32_THREAD_CALLOUT ThreadCallout
Definition: pstypes.h:1623
struct _PEB_FREE_BLOCK * PPEB_FREE_BLOCK
PTOKEN_PRIVILEGES PrivilegesToDelete
Definition: pstypes.h:1518
struct _EJOB * Job
Definition: pstypes.h:1242
PVOID KeyedWaitValue
Definition: pstypes.h:1060
KAPC RateApc
Definition: pstypes.h:1034
_In_ PVOID Parameter
Definition: ldrtypes.h:241
struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS * PWIN32_OKAYTOCLOSEMETHOD_PARAMETERS
PROCESS_PRIORITY_CLASS
Definition: pstypes.h:917
char * LPSTR
Definition: xmlstorage.h:182
ULONG Cookie
Definition: pstypes.h:1393
ULONGLONG WriteTransferCount
Definition: pstypes.h:1451
struct _TERMINATION_PORT * Next
Definition: pstypes.h:1019
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:1456
VOID(NTAPI * PPEBLOCKROUTINE)(PVOID PebLock)
Definition: pstypes.h:636
struct _TERMINATION_PORT * PTERMINATION_PORT
ULONG ActiveProcesses
Definition: pstypes.h:1428
ULONG ForkFailed
Definition: pstypes.h:1340
_JOBOBJECTINFOCLASS
Definition: pstypes.h:418
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
NTSTATUS LastThreadExitStatus
Definition: pstypes.h:1282
NTSTATUS(NTAPI * PKWIN32_SESSION_CALLOUT)(_In_ PVOID Parameter)
Definition: pstypes.h:590
HANDLE UniqueProcessId
Definition: pstypes.h:1206
LONG KPRIORITY
Definition: compat.h:463
ULONG PdeUpdateNeeded
Definition: pstypes.h:1358
PKWIN32_SESSION_CALLOUT DesktopCloseProcedure
Definition: pstypes.h:1631
SIZE_T Return
Definition: pstypes.h:980
SIZE_T QuotaUsage[3]
Definition: pstypes.h:1208
KPRIORITY BasePriority
Definition: compat.h:590
ULONG Affinity
Definition: pstypes.h:1436
ULONG_PTR HardwareTrigger
Definition: pstypes.h:1236
PKSTART_ROUTINE StartAddress
Definition: pstypes.h:1094
ULONG ThreadIoPriority
Definition: pstypes.h:1128
uint32_t ULONG_PTR
Definition: typedefs.h:64
LARGE_INTEGER CreateTime
Definition: pstypes.h:1203
NTSTATUS ExitStatus
Definition: pstypes.h:1376
EPROCESS_QUOTA_ENTRY QuotaEntry[3]
Definition: pstypes.h:985
LARGE_INTEGER ExitTime
Definition: winternl.h:1061
PVOID DeviceMap
Definition: pstypes.h:1252
SIZE_T PeakNonPagedPoolUsage
Definition: pstypes.h:138
UCHAR PriorityClass
Definition: pstypes.h:1391
struct _APPHELP_CACHE_SERVICE_LOOKUP * PAPPHELP_CACHE_SERVICE_LOOKUP
ULONG NumaAware
Definition: pstypes.h:1317
ULONG CacheManagerCount
Definition: pstypes.h:1192
_APPHELPCACHESERVICECLASS
Definition: pstypes.h:927
struct _ETHREAD * ReaperLink
Definition: pstypes.h:1059
struct _WIN32_JOBCALLOUT_PARAMETERS * PWIN32_JOBCALLOUT_PARAMETERS
ULONG AccountingFolded
Definition: pstypes.h:1308
PKWIN32_SESSION_CALLOUT WindowStationDeleteProcedure
Definition: pstypes.h:1635
ULONG OwnsSessionWorkingSetShared
Definition: pstypes.h:1165
struct DECLSPEC_ALIGN(4) _PROCESS_PRIORITY_CLASS
Definition: pstypes.h:913
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:1082
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:487
struct _WIN32_CALLOUTS_FPNS WIN32_CALLOUTS_FPNS
ULONG ProcessExiting
Definition: pstypes.h:1334
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:1191
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo
Definition: pstypes.h:1535
ULONG ThreadInserted
Definition: pstypes.h:1115
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation
Definition: pstypes.h:1541
ULONG RefTraceEnabled
Definition: pstypes.h:1316
typedef NTSTATUS(NTAPI *PKWIN32_PROCESS_CALLOUT)(_In_ struct _EPROCESS *Process
ULONG ActiveThreads
Definition: pstypes.h:1275
PVOID Win32StartAddress
Definition: pstypes.h:1091
ULONG ActiveExWorker
Definition: pstypes.h:1139
ULONG OwnsSessionWorkingSetExclusive
Definition: pstypes.h:1164
enum _PROCESSINFOCLASS PROCESSINFOCLASS
struct _WIN32_JOBCALLOUT_PARAMETERS WIN32_JOBCALLOUT_PARAMETERS
ULONGLONG ReadTransferCount
Definition: pstypes.h:1450
struct _PROCESS_ACCESS_TOKEN PROCESS_ACCESS_TOKEN
PVOID Win32WindowStation
Definition: pstypes.h:1247
BOOLEAN ReadImageFileExecOptions
Definition: pstypes.h:655
PKWIN32_JOB_CALLOUT JobCallout
Definition: pstypes.h:1627
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:1047
BOOLEAN ImageUsesLargePages
Definition: pstypes.h:663
ULONG SchedulingClass
Definition: pstypes.h:1446
struct _PEB * Peb
Definition: pstypes.h:1283
TEB_ACTIVE_FRAME BasicFrame
Definition: pstypes.h:718
NTSTATUS(NTAPI * PPOST_PROCESS_INIT_ROUTINE)(VOID)
Definition: pstypes.h:616
ULONG SameThreadPassiveFlags
Definition: pstypes.h:1147
* PPROCESS_PRIORITY_CLASS
Definition: pstypes.h:917
LARGE_INTEGER OtherTransferCount
Definition: pstypes.h:1290
ULONG ReportPhysicalPageChanges
Definition: pstypes.h:1313
#define _Out_
Definition: no_sal2.h:323
PVOID AlpcMessage
Definition: pstypes.h:1187
PVOID StackBase
Definition: pstypes.h:686
LIST_ENTRY ProcessListHead
Definition: pstypes.h:1420
struct _WIN32_CLOSEMETHOD_PARAMETERS * PWIN32_CLOSEMETHOD_PARAMETERS
ULONG SpareUlong0
Definition: pstypes.h:1105
struct _TEB_ACTIVE_FRAME_EX * PTEB_ACTIVE_FRAME_EX
LARGE_INTEGER ThisPeriodTotalUserTime
Definition: pstypes.h:1424
PKWIN32_SESSION_CALLOUT DesktopOkToCloseProcedure
Definition: pstypes.h:1630
ULONG Outswapped
Definition: pstypes.h:1339
LIST_ENTRY ThreadListHead
Definition: pstypes.h:1268
enum _PSW32THREADCALLOUTTYPE PSW32THREADCALLOUTTYPE
ULONG MemberLevel
Definition: pstypes.h:1467
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1430
PKWIN32_SESSION_CALLOUT DesktopDeleteProcedure
Definition: pstypes.h:1632
PVOID SectionObject
Definition: pstypes.h:1243
ULONG HandleTableRundown
Definition: pstypes.h:1314
PVOID VdmObjects
Definition: pstypes.h:1251
struct _TERMINATION_PORT * TerminationPort
Definition: pstypes.h:1058
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:1332
EX_PUSH_LOCK AddressCreationLock
Definition: pstypes.h:1229
struct _JOBOBJECT_BASIC_PROCESS_ID_LIST * PJOBOBJECT_BASIC_PROCESS_ID_LIST
PVOID Session
Definition: pstypes.h:1264
ULONG MemberLevel
Definition: pstypes.h:968
BOOLEAN BeingDebugged
Definition: pstypes.h:656
SE_AUDIT_PROCESS_CREATION_INFO SeAuditProcessCreationInfo
Definition: pstypes.h:1294
FAST_MUTEX
Definition: extypes.h:17
UNICODE_STRING ImageName
Definition: pstypes.h:942
ULONG CurrentJobMemoryUsed
Definition: pstypes.h:1458
PVOID SecurityPort
Definition: pstypes.h:1269
struct _PAGEFAULT_HISTORY * PPAGEFAULT_HISTORY
LIST_ENTRY SessionProcessLinks
Definition: pstypes.h:1213
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:1188
enum _THREADINFOCLASS THREADINFOCLASS
UCHAR SubSystemMinorVersion
Definition: pstypes.h:1386
ULONG ModifiedPageCount
Definition: pstypes.h:1301
ULONG VmDeleted
Definition: pstypes.h:1337
_PSW32JOBCALLOUTTYPE
Definition: pstypes.h:479
struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION * PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION
ULONG VmTopDown
Definition: pstypes.h:1356
struct _TEB_ACTIVE_FRAME_CONTEXT_EX TEB_ACTIVE_FRAME_CONTEXT_EX
ULONG MaximumWorkingSetSize
Definition: pstypes.h:1434
struct _PROCESS_FOREGROUND_BACKGROUND * PPROCESS_FOREGROUND_BACKGROUND
PVOID CompletionPort
Definition: pstypes.h:1443
EX_PUSH_LOCK MemoryLimitsLock
Definition: pstypes.h:1464
ULONG ExitProcessReported
Definition: pstypes.h:1310
ULONG NeedsHandleRundown
Definition: pstypes.h:1315
struct _EPROCESS_QUOTA_ENTRY * PEPROCESS_QUOTA_ENTRY
ULONG UniqueProcess
Definition: pstypes.h:725
EX_FAST_REF Token
Definition: pstypes.h:1226
struct _POOLED_USAGE_AND_LIMITS * PPOOLED_USAGE_AND_LIMITS
uint64_t ULONGLONG
Definition: typedefs.h:66
LARGE_INTEGER CreateTime
Definition: winternl.h:1060
PKWIN32_GLOBALATOMTABLE_CALLOUT GlobalAtomTableCallout
Definition: pstypes.h:1624
CLIENT_ID Cid
Definition: pstypes.h:1067
LIST_ENTRY JobLinks
Definition: pstypes.h:1419
ULONG NewProcessReported
Definition: pstypes.h:1309
UCHAR ExceptionPortState
Definition: pstypes.h:1220
_PSW32THREADCALLOUTTYPE
Definition: pstypes.h:489
struct _WIN32_POWEREVENT_PARAMETERS * PWIN32_POWEREVENT_PARAMETERS
struct _EPROCESS EPROCESS
HANDLE JobHandle
Definition: pstypes.h:967
PKWIN32_SESSION_CALLOUT WindowStationCloseProcedure
Definition: pstypes.h:1634
_APPCOMPAT_USERFLAGS_HIGHPART
Definition: pstypes.h:819
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
PVOID AweInfo
Definition: pstypes.h:1293
SIZE_T CommitChargePeak
Definition: pstypes.h:1292
ULONG SkipCreationMsg
Definition: pstypes.h:1124
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:1277
ULONG BreakOnTermination
Definition: pstypes.h:1123
enum _POWERSTATETASK POWERSTATETASK
ULONG_PTR TopLevelIrp
Definition: pstypes.h:1084
PVOID CompletionKey
Definition: pstypes.h:1444
struct _PS_JOB_TOKEN_FILTER PS_JOB_TOKEN_FILTER
PSPOWEREVENTTYPE EventNumber
Definition: pstypes.h:1555
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:1120
struct _PAGEFAULT_HISTORY PAGEFAULT_HISTORY
ULONG SmapAllowed
Definition: pstypes.h:1360
LARGE_INTEGER WriteTransferCount
Definition: pstypes.h:1289
ULONG DefaultIoPriority
Definition: pstypes.h:1366
PVOID StackLimit
Definition: pstypes.h:687
ULONGLONG TargetGEneration
Definition: pstypes.h:1033
BOOLEAN IsLegacyProcess
Definition: pstypes.h:666
unsigned __int64 ULONG64
Definition: imports.h:198
ULONG VdmAllowed
Definition: pstypes.h:1359
PLUID_AND_ATTRIBUTES CapturedPrivileges
Definition: pstypes.h:1409
PEPROCESS_QUOTA_BLOCK QuotaBlock
Definition: pstypes.h:1245
ULONG SetTimerResolution
Definition: pstypes.h:1343
unsigned char UCHAR
Definition: xmlstorage.h:181
PVOID * Win32Process
Definition: pstypes.h:1241
LARGE_INTEGER PerJobUserTimeLimit
Definition: pstypes.h:1431
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:874
KSPIN_LOCK SpinLock
Definition: pstypes.h:998
PKWIN32_SESSION_CALLOUT DesktopOpenProcedure
Definition: pstypes.h:1629
ULONG CrossThreadFlags
Definition: pstypes.h:1133
LARGE_INTEGER TotalKernelTime
Definition: pstypes.h:1423
ULONG ProcessInserted
Definition: pstypes.h:1362
ULONG CapturedSidsLength
Definition: pstypes.h:1404
LIST_ENTRY ActiveProcessLinks
Definition: pstypes.h:1207
ULONG JobMemoryLimit
Definition: pstypes.h:1455
POWER_ACTION
Definition: ntpoapi.h:122
PSID_AND_ATTRIBUTES CapturedGroups
Definition: pstypes.h:1406
_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:1616
ULONG ReadClusterSize
Definition: pstypes.h:1103
PPS_JOB_TOKEN_FILTER Filter
Definition: pstypes.h:1441
EX_FAST_REF PrefetchTrace
Definition: pstypes.h:1284
struct _PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION
Definition: ketypes.h:535
ULONG SecurityLimitFlags
Definition: pstypes.h:1439
EX_RUNDOWN_REF RundownProtect
Definition: pstypes.h:1205
PDEVICE_OBJECT DeviceToVerify
Definition: pstypes.h:1085
ULONG ProcessMemoryLimit
Definition: pstypes.h:1454
Definition: typedefs.h:118
PVOID LdtInformation
Definition: pstypes.h:1249
KPROCESS Pcb
Definition: pstypes.h:1201
ULONGLONG OtherOperationCount
Definition: pstypes.h:1449
ULONG OwnsSystemWorkingSetExclusive
Definition: pstypes.h:1162
ULONG TotalProcesses
Definition: pstypes.h:1427
PVOID ExtensionIdentifier
Definition: pstypes.h:719
ULONG SuppressSymbolLoad
Definition: pstypes.h:1167
UCHAR PriorityClass
Definition: pstypes.h:1437
PPAGEFAULT_HISTORY WorkingSetWatch
Definition: pstypes.h:1246
struct _PS_IMPERSONATION_INFORMATION PS_IMPERSONATION_INFORMATION
PROCESS_WS_WATCH_INFORMATION WatchInfo[1]
Definition: pstypes.h:1000
ULONG SystemThread
Definition: pstypes.h:1121
PVOID LockedPagesList
Definition: pstypes.h:1267
PVOID VadFreeHint
Definition: pstypes.h:1250
ULONG ActiveProcessLimit
Definition: pstypes.h:1435
NTSTATUS(NTAPI * PGDI_BATCHFLUSH_ROUTINE)(VOID)
Definition: pstypes.h:554
MMSUPPORT Vm
Definition: pstypes.h:1295
_APPCOMPAT_FLAGS
Definition: pstypes.h:749
struct _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
ULONG ImageNotifyDone
Definition: pstypes.h:1357
ULONG LastReportMemory
Definition: pstypes.h:1312
struct _EPROCESS_QUOTA_BLOCK EPROCESS_QUOTA_BLOCK
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1490
_PROCESSINFOCLASS
Definition: winternl.h:392
enum _OB_OPEN_REASON OB_OPEN_REASON
SYSTEM_POWER_STATE MinSystemState
Definition: pstypes.h:1563
PVOID OfsChain
Definition: pstypes.h:1053
Definition: compat.h:437
ULONG Flags
Definition: pstypes.h:969
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:1225
PMM_AVL_TABLE PhysicalVadRoot
Definition: pstypes.h:1237
ULONG_PTR SIZE_T
Definition: typedefs.h:79
HANDLE Mutant
Definition: pstypes.h:676
ULONG OverrideAddressSpace
Definition: pstypes.h:1352
ULONG ExceptionPortValue
Definition: pstypes.h:1219
NTSTATUS(NTAPI * PKWIN32_DELETEMETHOD_CALLOUT)(_In_ struct _WIN32_DELETEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:578
ULONG LaunchPrefetched
Definition: pstypes.h:1354
ULONG HasAddressSpace
Definition: pstypes.h:1353
struct _WIN32_DELETEMETHOD_PARAMETERS WIN32_DELETEMETHOD_PARAMETERS
NTSTATUS ExitStatus
Definition: pstypes.h:1052
ULONGLONG OtherTransferCount
Definition: pstypes.h:1452
ULONG LpcExitThreadCalled
Definition: pstypes.h:1154
LIST_ENTRY AlpcWaitListEntry
Definition: pstypes.h:1190
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:977
struct _PROCESS_SESSION_INFORMATION PROCESS_SESSION_INFORMATION
PVOID DebugPort
Definition: pstypes.h:1214
ULONG PendingRatecontrol
Definition: pstypes.h:1130
USHORT Spare7
Definition: pstypes.h:1378
unsigned short USHORT
Definition: pedump.c:61
ULONG SparePsFlags1
Definition: pstypes.h:1368
struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_ACCOUNTING_INFORMATION
ULONG MinimumWorkingSetSize
Definition: pstypes.h:1433
struct _ETHREAD ETHREAD
ULONG_PTR KAFFINITY
Definition: compat.h:75
ULONG UIRestrictionsClass
Definition: pstypes.h:1438
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:986
struct _CLIENT_ID64 * PCLIENT_ID64
struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT * PJOBOBJECT_ASSOCIATE_COMPLETION_PORT
ULONG Terminated
Definition: pstypes.h:1113
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
enum _APPHELPCACHESERVICECLASS APPHELPCACHESERVICECLASS
SIZE_T Limit
Definition: pstypes.h:978
ULONG TotalPageFaultCount
Definition: pstypes.h:1426
ULONG OwnsProcessWorkingSetShared
Definition: pstypes.h:1161
PVOID EtwDataSource
Definition: pstypes.h:1254
UCHAR ActiveFaultCount
Definition: pstypes.h:1182
struct _APPHELP_CACHE_SERVICE_LOOKUP APPHELP_CACHE_SERVICE_LOOKUP
ULONG CapturedPrivilegeCount
Definition: pstypes.h:1408
unsigned int * PULONG
Definition: retypes.h:1
LIST_ENTRY JobLinks
Definition: pstypes.h:1266
PETHREAD RotateInProgress
Definition: pstypes.h:1230
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:1346
LIST_ENTRY JobSetLinks
Definition: pstypes.h:1466
struct _EPROCESS_QUOTA_BLOCK * PEPROCESS_QUOTA_BLOCK
ULONGLONG ReadOperationCount
Definition: pstypes.h:1447
ULONG DefaultHardErrorProcessing
Definition: pstypes.h:1281
struct _WIN32_OPENMETHOD_PARAMETERS WIN32_OPENMETHOD_PARAMETERS
ULONG SessionId
Definition: pstypes.h:1445
struct _THREAD_BASIC_INFORMATION * PTHREAD_BASIC_INFORMATION
ULONG Flags
Definition: pstypes.h:1374
ULONG NoDebugInherit
Definition: pstypes.h:1333
LARGE_INTEGER OtherOperationCount
Definition: pstypes.h:1287
LARGE_INTEGER ReadTransferCount
Definition: pstypes.h:1288
_THREADINFOCLASS
Definition: compat.h:592
ULONG ProcessDelete
Definition: pstypes.h:1335
const struct _TEB_ACTIVE_FRAME_CONTEXT_EX * PCTEB_ACTIVE_FRAME_CONTEXT_EX
Definition: pstypes.h:706
PVOID FreeTebHint
Definition: pstypes.h:1255
_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:1319
ULONGLONG WriteOperationCount
Definition: pstypes.h:1448
struct _WIN32_OPENMETHOD_PARAMETERS * PWIN32_OPENMETHOD_PARAMETERS
PSW32JOBCALLOUTTYPE CalloutType
Definition: pstypes.h:1571
struct _INITIAL_TEB INITIAL_TEB
ULONG ProtectedProcess
Definition: pstypes.h:1318
struct tagContext Context
Definition: acpixf.h:1034
ULONG ERESOURCE
Definition: env_spec_w32.h:594
struct _PROCESS_DEVICEMAP_INFORMATION::@3859::@3860 Set
CHAR ImageFileName[16]
Definition: pstypes.h:1265
PKWIN32_SESSION_CALLOUT WindowStationOpenProcedure
Definition: pstypes.h:1637
unsigned int ULONG
Definition: retypes.h:1
ULONG KeyedEventInUse
Definition: pstypes.h:1142
ULONG ProcessDeleteSelf
Definition: pstypes.h:1320
PVOID PaeTop
Definition: pstypes.h:1273
Definition: pstypes.h:975
struct _JOBOBJECT_BASIC_PROCESS_ID_LIST JOBOBJECT_BASIC_PROCESS_ID_LIST
struct _EJOB EJOB
EX_PUSH_LOCK ProcessLock
Definition: pstypes.h:1202
ULONG PriorityRegionActive
Definition: pstypes.h:1169
struct _PS_IMPERSONATION_INFORMATION * PPS_IMPERSONATION_INFORMATION
const char * PCSTR
Definition: typedefs.h:52
PETHREAD ForkInProgress
Definition: pstypes.h:1235
ULONG OwnsProcessWorkingSetExclusive
Definition: pstypes.h:1160
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION * PJOBOBJECT_BASIC_LIMIT_INFORMATION
POWERSTATETASK PowerStateTask
Definition: pstypes.h:1565
NTSTATUS(NTAPI * PKWIN32_OKTOCLOSEMETHOD_CALLOUT)(_In_ struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:566
PUNICODE_STRING RemainingName
Definition: pstypes.h:1614
ULONG ExWorkerCanWaitUser
Definition: pstypes.h:1140
struct _EJOB * PEJOB
enum _PSPROCESSPRIORITYMODE PSPROCESSPRIORITYMODE
PKWIN32_SESSION_CALLOUT WindowStationParseProcedure
Definition: pstypes.h:1636
enum _APPCOMPAT_USERFLAGS APPCOMPAT_USERFLAGS
ULONG AddressSpaceInitialized
Definition: pstypes.h:1342
UCHAR DisablePageFaultClustering
Definition: pstypes.h:1181
ULONG SameThreadApcFlags
Definition: pstypes.h:1174
USHORT SubSystemVersion
Definition: pstypes.h:1389
ULONG Wow64VaSpace4Gb
Definition: pstypes.h:1341
PKWIN32_PROCESS_CALLOUT ProcessCallout
Definition: pstypes.h:1622
PVOID PreviousStackBase
Definition: pstypes.h:684
EX_PUSH_LOCK ThreadLock
Definition: pstypes.h:1099
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:1204
ULONG HardErrorsAreDisabled
Definition: pstypes.h:1122
PVOID SectionBaseAddress
Definition: pstypes.h:1244
SIZE_T VirtualSize
Definition: pstypes.h:1212
SIZE_T CommitCharge
Definition: pstypes.h:1210
struct _PEB_FREE_BLOCK * Next
Definition: ntddk_ex.h:230
struct _PSP_RATE_APC * PPSP_RATE_APC
MM_AVL_TABLE VadRoot
Definition: pstypes.h:1392
ULONG HideFromDebugger
Definition: pstypes.h:1119
_Out_ PUNICODE_STRING CompleteName
Definition: pstypes.h:1613
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:1031
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:1083
PKWIN32_WIN32DATACOLLECTION_CALLOUT Win32DataCollectionProcedure
Definition: pstypes.h:1639
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:1355
ULONG ACCESS_MASK
Definition: nt_native.h:40
SIZE_T Peak
Definition: pstypes.h:979
ULONG CreateMsgSent
Definition: pstypes.h:1127
ULONG ThreadPagePriority
Definition: pstypes.h:1129
struct _TEB_ACTIVE_FRAME TEB_ACTIVE_FRAME
ULONG LpcReceivedMsgIdValid
Definition: pstypes.h:1153
struct _PROCESS_DEVICEMAP_INFORMATION::@3859::@3861 Query
BOOLEAN InheritedAddressSpace
Definition: pstypes.h:654
PFN_NUMBER WorkingSetPage
Definition: pstypes.h:1227
ULONG RateApcState
Definition: pstypes.h:1144
ULONG PeakJobMemoryUsed
Definition: pstypes.h:1457
IO_COUNTERS IoInfo
Definition: pstypes.h:1453
struct _JOB_SET_ARRAY * PJOB_SET_ARRAY
ULONG ProcessInSession
Definition: pstypes.h:1351
ULONG Spare
Definition: pstypes.h:1156
NTSTATUS(NTAPI * PKWIN32_PARSEMETHOD_CALLOUT)(_In_ struct _WIN32_PARSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:584
_In_ PSTORAGE_PROPERTY_ID _Outptr_ PSTORAGE_DESCRIPTOR_HEADER * Descriptor
Definition: classpnp.h:966
KSPIN_LOCK ActiveTimerListLock
Definition: pstypes.h:1065