ReactOS  0.4.12-dev-919-gfc3b8d5
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 // Cross Thread Flags
221 //
222 #define CT_TERMINATED_BIT 0x1
223 #define CT_DEAD_THREAD_BIT 0x2
224 #define CT_HIDE_FROM_DEBUGGER_BIT 0x4
225 #define CT_ACTIVE_IMPERSONATION_INFO_BIT 0x8
226 #define CT_SYSTEM_THREAD_BIT 0x10
227 #define CT_HARD_ERRORS_ARE_DISABLED_BIT 0x20
228 #define CT_BREAK_ON_TERMINATION_BIT 0x40
229 #define CT_SKIP_CREATION_MSG_BIT 0x80
230 #define CT_SKIP_TERMINATION_MSG_BIT 0x100
231 
232 //
233 // Same Thread Passive Flags
234 //
235 #define STP_ACTIVE_EX_WORKER_BIT 0x1
236 #define STP_EX_WORKER_CAN_WAIT_USER_BIT 0x2
237 #define STP_MEMORY_MAKER_BIT 0x4
238 #define STP_KEYED_EVENT_IN_USE_BIT 0x8
239 
240 //
241 // Same Thread APC Flags
242 //
243 #define STA_LPC_RECEIVED_MSG_ID_VALID_BIT 0x1
244 #define STA_LPC_EXIT_THREAD_CALLED_BIT 0x2
245 #define STA_ADDRESS_SPACE_OWNER_BIT 0x4
246 #define STA_OWNS_WORKING_SET_BITS 0x1F8
247 
248 //
249 // Kernel Process flags (maybe in ketypes.h?)
250 //
251 #define KPSF_AUTO_ALIGNMENT_BIT 0
252 #define KPSF_DISABLE_BOOST_BIT 1
253 
254 //
255 // Process Flags
256 //
257 #define PSF_CREATE_REPORTED_BIT 0x1
258 #define PSF_NO_DEBUG_INHERIT_BIT 0x2
259 #define PSF_PROCESS_EXITING_BIT 0x4
260 #define PSF_PROCESS_DELETE_BIT 0x8
261 #define PSF_WOW64_SPLIT_PAGES_BIT 0x10
262 #define PSF_VM_DELETED_BIT 0x20
263 #define PSF_OUTSWAP_ENABLED_BIT 0x40
264 #define PSF_OUTSWAPPED_BIT 0x80
265 #define PSF_FORK_FAILED_BIT 0x100
266 #define PSF_WOW64_VA_SPACE_4GB_BIT 0x200
267 #define PSF_ADDRESS_SPACE_INITIALIZED_BIT 0x400
268 #define PSF_SET_TIMER_RESOLUTION_BIT 0x1000
269 #define PSF_BREAK_ON_TERMINATION_BIT 0x2000
270 #define PSF_SESSION_CREATION_UNDERWAY_BIT 0x4000
271 #define PSF_WRITE_WATCH_BIT 0x8000
272 #define PSF_PROCESS_IN_SESSION_BIT 0x10000
273 #define PSF_OVERRIDE_ADDRESS_SPACE_BIT 0x20000
274 #define PSF_HAS_ADDRESS_SPACE_BIT 0x40000
275 #define PSF_LAUNCH_PREFETCHED_BIT 0x80000
276 #define PSF_INJECT_INPAGE_ERRORS_BIT 0x100000
277 #define PSF_VM_TOP_DOWN_BIT 0x200000
278 #define PSF_IMAGE_NOTIFY_DONE_BIT 0x400000
279 #define PSF_PDE_UPDATE_NEEDED_BIT 0x800000
280 #define PSF_VDM_ALLOWED_BIT 0x1000000
281 #define PSF_SWAP_ALLOWED_BIT 0x2000000
282 #define PSF_CREATE_FAILED_BIT 0x4000000
283 #define PSF_DEFAULT_IO_PRIORITY_BIT 0x8000000
284 
285 //
286 // Vista Process Flags
287 //
288 #define PSF2_PROTECTED_BIT 0x800
289 #endif
290 
291 //
292 // TLS/FLS Defines
293 //
294 #define TLS_EXPANSION_SLOTS 1024
295 
296 #ifdef NTOS_MODE_USER
297 //
298 // Thread Native Base Priorities
299 //
300 #define LOW_PRIORITY 0
301 #define LOW_REALTIME_PRIORITY 16
302 #define HIGH_PRIORITY 31
303 #define MAXIMUM_PRIORITY 32
304 
305 //
306 // Current Process/Thread built-in 'special' handles
307 //
308 #define NtCurrentProcess() ((HANDLE)(LONG_PTR)-1)
309 #define ZwCurrentProcess() NtCurrentProcess()
310 #define NtCurrentThread() ((HANDLE)(LONG_PTR)-2)
311 #define ZwCurrentThread() NtCurrentThread()
312 
313 //
314 // Process/Thread/Job Information Classes for NtQueryInformationProcess/Thread/Job
315 //
316 typedef enum _PROCESSINFOCLASS
317 {
322  ProcessTimes,
367 
368 typedef enum _THREADINFOCLASS
369 {
371  ThreadTimes,
400 
401 #else
402 
404 {
409 
411 {
424 
425 //
426 // Power Event Events for Win32K Power Event Callback
427 //
428 typedef enum _PSPOWEREVENTTYPE
429 {
444 
445 //
446 // Power State Tasks for Win32K Power State Callback
447 //
448 typedef enum _POWERSTATETASK
449 {
467 
468 //
469 // Win32K Job Callback Types
470 //
472 {
477 
478 //
479 // Win32K Thread Callback Types
480 //
482 {
486 
487 //
488 // Declare empty structure definitions so that they may be referenced by
489 // routines before they are defined
490 //
491 struct _W32THREAD;
492 struct _W32PROCESS;
493 //struct _ETHREAD;
502 
503 //
504 // Win32K Process and Thread Callbacks
505 //
506 typedef
507 NTSTATUS
508 (NTAPI *PKWIN32_PROCESS_CALLOUT)(
509  _In_ struct _EPROCESS *Process,
511 );
512 
513 typedef
514 NTSTATUS
516  _In_ struct _ETHREAD *Thread,
518 );
519 
520 typedef
521 NTSTATUS
523  VOID
524 );
525 
526 typedef
527 NTSTATUS
530 );
531 
532 typedef
533 NTSTATUS
536 );
537 
538 typedef
539 NTSTATUS
542 );
543 
544 typedef
545 NTSTATUS
547  VOID
548 );
549 
550 typedef
551 NTSTATUS
554 );
555 
556 typedef
557 NTSTATUS
560 );
561 
562 typedef
563 NTSTATUS
566 );
567 
568 typedef
569 NTSTATUS
572 );
573 
574 typedef
575 NTSTATUS
578 );
579 
580 typedef
581 NTSTATUS
584 );
585 
586 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
587 typedef
588 NTSTATUS
590  _In_ struct _EPROCESS *Process,
593 );
594 #endif
595 
596 //
597 // Lego Callback
598 //
599 typedef
600 VOID
603 );
604 
605 #endif
606 
607 typedef NTSTATUS
609  VOID
610 );
611 
612 //
613 // Descriptor Table Entry Definition
614 //
615 #if (_M_IX86)
616 #define _DESCRIPTOR_TABLE_ENTRY_DEFINED
617 typedef struct _DESCRIPTOR_TABLE_ENTRY
618 {
619  ULONG Selector;
621 } DESCRIPTOR_TABLE_ENTRY, *PDESCRIPTOR_TABLE_ENTRY;
622 #endif
623 
624 //
625 // PEB Lock Routine
626 //
627 typedef VOID
629  PVOID PebLock
630 );
631 
632 //
633 // PEB Free Block Descriptor
634 //
635 typedef struct _PEB_FREE_BLOCK
636 {
637  struct _PEB_FREE_BLOCK* Next;
638  ULONG Size;
640 
641 //
642 // Initial PEB
643 //
644 typedef struct _INITIAL_PEB
645 {
649  union
650  {
652 #if (NTDDI_VERSION >= NTDDI_WS03)
653  struct
654  {
656 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
660 #else
661  BOOLEAN SpareBits:7;
662 #endif
663  };
664 #else
665  BOOLEAN SpareBool;
666 #endif
667  };
670 
671 //
672 // Initial TEB
673 //
674 typedef struct _INITIAL_TEB
675 {
682 
683 //
684 // TEB Active Frame Structures
685 //
687 {
692 
694 {
699 
700 typedef struct _TEB_ACTIVE_FRAME
701 {
706 typedef const struct _TEB_ACTIVE_FRAME *PCTEB_ACTIVE_FRAME;
707 
708 typedef struct _TEB_ACTIVE_FRAME_EX
709 {
714 
715 typedef struct _CLIENT_ID32
716 {
720 
721 typedef struct _CLIENT_ID64
722 {
726 
727 #if (NTDDI_VERSION < NTDDI_WS03)
728 typedef struct _Wx86ThreadState
729 {
730  PULONG CallBx86Eip;
731  PVOID DeallocationCpu;
732  BOOLEAN UseKnownWx86Dll;
733  CHAR OleStubInvoked;
734 } Wx86ThreadState, *PWx86ThreadState;
735 #endif
736 
737 //
738 // PEB.AppCompatFlags
739 // Tag FLAG_MASK_KERNEL
740 //
741 typedef enum _APPCOMPAT_FLAGS
742 {
748  DisableCicero = 0x100,
759  DoNotAddToCache = 0x80000000,
761 
762 
763 //
764 // PEB.AppCompatFlagsUser.LowPart
765 // Tag FLAG_MASK_USER
766 //
768 {
778  NoGdiBatching = 0x200,
782  AllTheDdeHacks = 0x2000,
784  NoCharDeadKey = 0x8000,
787  NoDdeSync = 0x40000,
788  NoGhost = 0x80000,
789  NoDdeAsyncReg = 0x100000,
790  StrictLLHook = 0x200000,
791  NoShadow = 0x400000,
793  HighDpiAware = 0x2000000,
794  OpenGLEmfAware = 0x4000000,
796  NoPaddedBorder = 0x10000000,
797  ForceLegacyResizeCM = 0x20000000,
798  HardwareAudioMixer = 0x40000000,
800 #if 0
801  DisableWindowArrangement = 0x100000000,
802  ReorderWaveForCommunications = 0x200000000,
803  NoGdiHwAcceleration = 0x400000000,
804 #endif
806 
807 //
808 // PEB.AppCompatFlagsUser.HighPart
809 // Tag FLAG_MASK_USER
810 //
812 {
817 
818 //
819 // Process Environment Block (PEB)
820 // Thread Environment Block (TEB)
821 //
822 #include "peb_teb.h"
823 
824 #ifdef _WIN64
825 //
826 // Explicit 32 bit PEB/TEB
827 //
828 #define EXPLICIT_32BIT
829 #include "peb_teb.h"
830 #undef EXPLICIT_32BIT
831 
832 //
833 // Explicit 64 bit PEB/TEB
834 //
835 #define EXPLICIT_64BIT
836 #include "peb_teb.h"
837 #undef EXPLICIT_64BIT
838 #endif
839 
840 #ifdef NTOS_MODE_USER
841 
842 //
843 // Process Information Structures for NtQueryProcessInformation
844 //
845 typedef struct _PROCESS_BASIC_INFORMATION
846 {
854 
855 typedef struct _PROCESS_ACCESS_TOKEN
856 {
857  HANDLE Token;
858  HANDLE Thread;
860 
861 typedef struct _PROCESS_DEVICEMAP_INFORMATION
862 {
863  union
864  {
865  struct
866  {
868  } Set;
869  struct
870  {
871  ULONG DriveMap;
872  UCHAR DriveType[32];
873  } Query;
874  };
876 
877 typedef struct _KERNEL_USER_TIMES
878 {
884 
885 typedef struct _POOLED_USAGE_AND_LIMITS
886 {
897 
898 typedef struct _PROCESS_SESSION_INFORMATION
899 {
902 
903 #endif
904 
906 {
910 
912 {
915 
916 //
917 // Apphelp SHIM Cache
918 //
920 {
926 
930 
931 
933 {
937 
938 
939 //
940 // Thread Information Structures for NtQueryProcessInformation
941 //
942 typedef struct _THREAD_BASIC_INFORMATION
943 {
951 
952 #ifndef NTOS_MODE_USER
953 
954 //
955 // Job Set Array
956 //
957 typedef struct _JOB_SET_ARRAY
958 {
963 
964 //
965 // EPROCESS Quota Structures
966 //
967 typedef struct _EPROCESS_QUOTA_ENTRY
968 {
974 
975 typedef struct _EPROCESS_QUOTA_BLOCK
976 {
982 
983 //
984 // Process Pagefault History
985 //
986 typedef struct _PAGEFAULT_HISTORY
987 {
994 
995 //
996 // Process Impersonation Information
997 //
999 {
1005 
1006 //
1007 // Process Termination Port
1008 //
1009 typedef struct _TERMINATION_PORT
1010 {
1014 
1015 //
1016 // Per-Process APC Rate Limiting
1017 //
1018 typedef struct _PSP_RATE_APC
1019 {
1020  union
1021  {
1024  };
1028 
1029 //
1030 // Executive Thread (ETHREAD)
1031 //
1032 typedef struct _ETHREAD
1033 {
1036  union
1037  {
1041  };
1042  union
1043  {
1046  };
1048  union
1049  {
1053 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1055 #endif
1056  };
1060 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1062 #else
1063  union
1064  {
1065  KSEMAPHORE LpcReplySemaphore;
1067  };
1068  union
1069  {
1070  PVOID LpcReplyMessage;
1071  PVOID LpcWaitingOnPort;
1072  };
1073 #endif
1078 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1080 #else
1081  struct _EPROCESS *ThreadsProcess;
1082 #endif
1084  union
1085  {
1088  };
1092 #if (NTDDI_VERSION < NTDDI_LONGHORN)
1093  ULONG LpcReplyMessageId;
1094 #endif
1096 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1098 #else
1100 #endif
1101  union
1102  {
1103  struct
1104  {
1106 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1108 #else
1109  ULONG DeadThread:1;
1110 #endif
1118 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1123 #endif
1124  };
1126  };
1127  union
1128  {
1129  struct
1130  {
1135 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1137 #endif
1138  };
1140  };
1141  union
1142  {
1143  struct
1144  {
1147 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1149 #else
1150  ULONG AddressSpaceOwner:1;
1151 #endif
1158 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1162 #else
1163  ULONG ApcNeeded:1;
1164 #endif
1165  };
1167  };
1168 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1170 #else
1171  UCHAR ForwardClusterOnly;
1172 #endif
1175 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1177  union
1178  {
1181  };
1185 #endif
1186 } ETHREAD;
1187 
1188 //
1189 // Executive Process (EPROCESS)
1190 //
1191 typedef struct _EPROCESS
1192 {
1200  SIZE_T QuotaUsage[3]; /* 0=PagedPool, 1=NonPagedPool, 2=Pagefile */
1201  SIZE_T QuotaPeak[3]; /* ditto */
1207 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1208  union
1209  {
1213  };
1214 #else
1215  PVOID ExceptionPort;
1216 #endif
1220 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1223 #else
1225  KSPIN_LOCK HyperSpaceLock;
1226 #endif
1234  struct _EJOB *Job;
1245 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1248 #else
1249  PVOID Spare0[3];
1250 #endif
1251  union
1252  {
1255  };
1262 #ifdef _M_AMD64
1263  struct _WOW64_PROCESS *Wow64Process;
1264 #else
1266 #endif
1268 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1270 #else
1272 #endif
1275  struct _PEB* Peb;
1288 #ifdef _M_AMD64
1289  ULONG Spares[2];
1290 #else
1292 #endif
1294 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1295  union
1296  {
1297  struct
1298  {
1314  };
1316  };
1317 #else
1318  ULONG JobStatus;
1319 #endif
1320  union
1321  {
1322  struct
1323  {
1337 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1339 #else
1340  ULONG SessionCreationUnderway:1;
1341 #endif
1353 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1355 #else
1356  ULONG CreateFailed:1;
1357 #endif
1359 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1361 #else
1362  ULONG Spare1:1;
1363  ULONG Spare2:1;
1364 #endif
1365  };
1367  };
1369 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1371 #else
1372  USHORT NextPageColor;
1373 #endif
1374  union
1375  {
1376  struct
1377  {
1380  };
1382  };
1386 } EPROCESS;
1387 
1388 //
1389 // Job Token Filter Data
1390 //
1391 #include <pshpack1.h>
1392 typedef struct _PS_JOB_TOKEN_FILTER
1393 {
1404 
1405 //
1406 // Executive Job (EJOB)
1407 //
1408 typedef struct _EJOB
1409 {
1451 #if (NTDDI_VERSION >= NTDDI_WINXP) && (NTDDI_VERSION < NTDDI_WS03)
1453 #elif (NTDDI_VERSION >= NTDDI_WS03) && (NTDDI_VERSION < NTDDI_LONGHORN)
1455 #elif (NTDDI_VERSION >= NTDDI_LONGHORN)
1457 #endif
1461 } EJOB, *PEJOB;
1462 #include <poppack.h>
1463 
1464 //
1465 // Job Information Structures for NtQueryInformationJobObject
1466 //
1467 
1469 {
1479 
1481 {
1492 
1494 {
1499 
1501 {
1504 
1506 {
1513 
1515 {
1518 
1520 {
1524 
1526 {
1530 
1532 {
1540 
1541 
1542 //
1543 // Win32K Callback Registration Data
1544 //
1546 {
1550 
1552 {
1559 
1561 {
1566 
1568 {
1575 
1577 {
1583 
1585 {
1592 
1594 {
1597 
1599 {
1611 
1612 typedef struct _WIN32_CALLOUTS_FPNS
1613 {
1614  PKWIN32_PROCESS_CALLOUT ProcessCallout;
1630 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
1632 #endif
1634 
1635 #endif // !NTOS_MODE_USER
1636 
1637 #ifdef __cplusplus
1638 }; // extern "C"
1639 #endif
1640 
1641 #endif // _PSTYPES_H
KSEMAPHORE KeyedWaitSemaphore
Definition: pstypes.h:1061
LARGE_INTEGER WriteOperationCount
Definition: pstypes.h:1278
ULONG LimitFlags
Definition: pstypes.h:1424
PKWIN32_POWERSTATE_CALLOUT PowerStateCallout
Definition: pstypes.h:1618
enum _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION * PJOBOBJECT_EXTENDED_LIMIT_INFORMATION
_APPCOMPAT_USERFLAGS
Definition: pstypes.h:767
LIST_ENTRY PostBlockList
Definition: pstypes.h:1047
ULONGLONG Filler
Definition: pstypes.h:1254
struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION
BOOLEAN SpareBits
Definition: pstypes.h:659
ULONG64 UniqueProcess
Definition: pstypes.h:723
const struct _TEB_ACTIVE_FRAME_CONTEXT * PCTEB_ACTIVE_FRAME_CONTEXT
Definition: pstypes.h:691
struct _INITIAL_TEB * PINITIAL_TEB
LIST_ENTRY MmProcessLinks
Definition: pstypes.h:1291
NTSTATUS(NTAPI * PKWIN32_WIN32DATACOLLECTION_CALLOUT)(_In_ struct _EPROCESS *Process, _In_ PVOID Callback, _In_ PVOID Context)
Definition: pstypes.h:589
LARGE_INTEGER ExitTime
Definition: pstypes.h:1038
HARDWARE_PTE PageDirectoryPte
Definition: pstypes.h:1253
ULONG EndOfJobTimeAction
Definition: pstypes.h:1434
ULONG Wow64SplitPages
Definition: pstypes.h:1328
LIST_ENTRY ThreadListEntry
Definition: pstypes.h:1089
struct _KERNEL_USER_TIMES * PKERNEL_USER_TIMES
LARGE_INTEGER ReadOperationCount
Definition: pstypes.h:1277
ULONG JobFlags
Definition: pstypes.h:1460
ULONG Spare1
Definition: pstypes.h:1160
NTSTATUS(NTAPI * PKWIN32_GLOBALATOMTABLE_CALLOUT)(VOID)
Definition: pstypes.h:522
struct _PROCESS_FOREGROUND_BACKGROUND PROCESS_FOREGROUND_BACKGROUND
ULONG SkipTerminationMsg
Definition: pstypes.h:1117
PVOID Win32StartParameter
Definition: pstypes.h:1054
struct _WIN32_POWERSTATE_PARAMETERS * PWIN32_POWERSTATE_PARAMETERS
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: pstypes.h:1003
ULONG CapturedGroupCount
Definition: pstypes.h:1397
Type
Definition: Type.h:6
ULONG ReportCommitChanges
Definition: pstypes.h:1303
KAFFINITY AffinityMask
Definition: compat.h:579
PKWIN32_SESSION_CALLOUT WindowStationOkToCloseProcedure
Definition: pstypes.h:1625
enum _APPCOMPAT_FLAGS APPCOMPAT_FLAGS
OB_OPEN_REASON OpenReason
Definition: pstypes.h:1569
UCHAR CacheManagerActive
Definition: pstypes.h:1169
SINGLE_LIST_ENTRY NextApc
Definition: pstypes.h:1022
struct _EPROCESS_QUOTA_ENTRY EPROCESS_QUOTA_ENTRY
ULONG WriteWatch
Definition: pstypes.h:1342
Definition: ntbasedef.h:635
ULONG Flags2
Definition: pstypes.h:1315
ULONG OwnsSystemWorkingSetShared
Definition: pstypes.h:1155
PGDI_BATCHFLUSH_ROUTINE BatchFlushRoutine
Definition: pstypes.h:1620
ULONG BreakOnTermination
Definition: pstypes.h:1336
SIZE_T QuotaPeak[3]
Definition: pstypes.h:1201
BOOLEAN BitField
Definition: pstypes.h:651
LIST_ENTRY KeyedWaitChain
Definition: pstypes.h:1040
HANDLE InheritedFromUniqueProcessId
Definition: pstypes.h:1240
PPSP_RATE_APC RateControlApc
Definition: pstypes.h:1079
SIZE_T PeakVirtualSize
Definition: pstypes.h:1203
LARGE_INTEGER TotalUserTime
Definition: pstypes.h:1414
ULONG CurrentIndex
Definition: pstypes.h:988
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:511
ULONG CapturedPrivilegesLength
Definition: pstypes.h:1402
struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION JOBOBJECT_END_OF_JOB_TIME_INFORMATION
UCHAR SubSystemMajorVersion
Definition: pstypes.h:1379
ULONG MemoryMaker
Definition: pstypes.h:1133
char CHAR
Definition: xmlstorage.h:175
LARGE_INTEGER CreateTime
Definition: pstypes.h:1035
LARGE_INTEGER ThisPeriodTotalKernelTime
Definition: pstypes.h:1417
KEVENT Event
Definition: pstypes.h:1410
struct _PS_JOB_TOKEN_FILTER * PPS_JOB_TOKEN_FILTER
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:1090
struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS WIN32_OKAYTOCLOSEMETHOD_PARAMETERS
KTHREAD Tcb
Definition: pstypes.h:1034
PVOID ExceptionPortData
Definition: pstypes.h:1210
PFN_NUMBER NumberOfPrivatePages
Definition: pstypes.h:1231
PSID_AND_ATTRIBUTES CapturedSids
Definition: pstypes.h:1395
struct _POOLED_USAGE_AND_LIMITS POOLED_USAGE_AND_LIMITS
ULONG LpcReceivedMessageId
Definition: pstypes.h:1087
ULONG JobNotReallyActive
Definition: pstypes.h:1299
NTSTATUS(NTAPI * PKWIN32_THREAD_CALLOUT)(_In_ struct _ETHREAD *Thread, _In_ PSW32THREADCALLOUTTYPE Type)
Definition: pstypes.h:515
_PSPROCESSPRIORITYMODE
Definition: pstypes.h:403
ERESOURCE JobLock
Definition: pstypes.h:1413
struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
LIST_ENTRY ActiveTimerListHead
Definition: pstypes.h:1058
ULONG AlpcMessageId
Definition: pstypes.h:1176
ULONG TotalTerminatedProcesses
Definition: pstypes.h:1421
NTSTATUS(NTAPI * PKWIN32_POWERSTATE_CALLOUT)(_In_ struct _WIN32_POWERSTATE_PARAMETERS *Parameters)
Definition: pstypes.h:534
PVOID CloneRoot
Definition: pstypes.h:1230
struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION PJOBOBJECT_END_OF_JOB_TIME_INFORMATION
PKWIN32_POWEREVENT_CALLOUT PowerEventCallout
Definition: pstypes.h:1617
NTSTATUS(NTAPI * PKWIN32_JOB_CALLOUT)(_In_ struct _WIN32_JOBCALLOUT_PARAMETERS *Parameters)
Definition: pstypes.h:540
ULONG OutswapEnabled
Definition: pstypes.h:1330
PFN_NUMBER NumberOfLockedPages
Definition: pstypes.h:1232
struct _WIN32_POWERSTATE_PARAMETERS WIN32_POWERSTATE_PARAMETERS
ULONG ProcessVerifierTarget
Definition: pstypes.h:1313
PVOID Token
Definition: pstypes.h:1432
struct _PROCESS_DEVICEMAP_INFORMATION * PPROCESS_DEVICEMAP_INFORMATION
KPROCESSOR_MODE AccessMode
Definition: pstypes.h:1603
_POWERSTATETASK
Definition: pstypes.h:448
ULONG CapturedGroupsLength
Definition: pstypes.h:1399
SIZE_T CommitChargeLimit
Definition: pstypes.h:1283
PKWIN32_THREAD_CALLOUT ThreadCallout
Definition: pstypes.h:1615
struct _PEB_FREE_BLOCK * PPEB_FREE_BLOCK
PTOKEN_PRIVILEGES PrivilegesToDelete
Definition: pstypes.h:1510
struct _EJOB * Job
Definition: pstypes.h:1234
PVOID KeyedWaitValue
Definition: pstypes.h:1052
KAPC RateApc
Definition: pstypes.h:1026
_In_ PVOID Parameter
Definition: ldrtypes.h:240
struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS * PWIN32_OKAYTOCLOSEMETHOD_PARAMETERS
char * LPSTR
Definition: xmlstorage.h:182
ULONG Cookie
Definition: pstypes.h:1385
ULONGLONG WriteTransferCount
Definition: pstypes.h:1443
struct _TERMINATION_PORT * Next
Definition: pstypes.h:1011
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:1448
VOID(NTAPI * PPEBLOCKROUTINE)(PVOID PebLock)
Definition: pstypes.h:628
struct _TERMINATION_PORT * PTERMINATION_PORT
ULONG ActiveProcesses
Definition: pstypes.h:1420
ULONG ForkFailed
Definition: pstypes.h:1332
_JOBOBJECTINFOCLASS
Definition: pstypes.h:410
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
NTSTATUS LastThreadExitStatus
Definition: pstypes.h:1274
NTSTATUS(NTAPI * PKWIN32_SESSION_CALLOUT)(_In_ PVOID Parameter)
Definition: pstypes.h:582
HANDLE UniqueProcessId
Definition: pstypes.h:1198
LONG KPRIORITY
Definition: compat.h:454
ULONG PdeUpdateNeeded
Definition: pstypes.h:1350
PKWIN32_SESSION_CALLOUT DesktopCloseProcedure
Definition: pstypes.h:1623
SIZE_T Return
Definition: pstypes.h:972
SIZE_T QuotaUsage[3]
Definition: pstypes.h:1200
KPRIORITY BasePriority
Definition: compat.h:581
ULONG Affinity
Definition: pstypes.h:1428
ULONG_PTR HardwareTrigger
Definition: pstypes.h:1228
PKSTART_ROUTINE StartAddress
Definition: pstypes.h:1086
ULONG ThreadIoPriority
Definition: pstypes.h:1120
uint32_t ULONG_PTR
Definition: typedefs.h:63
LARGE_INTEGER CreateTime
Definition: pstypes.h:1195
NTSTATUS ExitStatus
Definition: pstypes.h:1368
EPROCESS_QUOTA_ENTRY QuotaEntry[3]
Definition: pstypes.h:977
LARGE_INTEGER ExitTime
Definition: winternl.h:1061
PVOID DeviceMap
Definition: pstypes.h:1244
SIZE_T PeakNonPagedPoolUsage
Definition: pstypes.h:138
UCHAR PriorityClass
Definition: pstypes.h:1383
struct _APPHELP_CACHE_SERVICE_LOOKUP * PAPPHELP_CACHE_SERVICE_LOOKUP
ULONG NumaAware
Definition: pstypes.h:1309
ULONG CacheManagerCount
Definition: pstypes.h:1184
_APPHELPCACHESERVICECLASS
Definition: pstypes.h:919
struct _ETHREAD * ReaperLink
Definition: pstypes.h:1051
struct _WIN32_JOBCALLOUT_PARAMETERS * PWIN32_JOBCALLOUT_PARAMETERS
ULONG AccountingFolded
Definition: pstypes.h:1300
PKWIN32_SESSION_CALLOUT WindowStationDeleteProcedure
Definition: pstypes.h:1627
ULONG OwnsSessionWorkingSetShared
Definition: pstypes.h:1157
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:1074
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:487
struct _WIN32_CALLOUTS_FPNS WIN32_CALLOUTS_FPNS
ULONG ProcessExiting
Definition: pstypes.h:1326
const struct _TEB_ACTIVE_FRAME_EX * PCTEB_ACTIVE_FRAME_EX
Definition: pstypes.h:713
struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION * PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
KSEMAPHORE AlpcWaitSemaphore
Definition: pstypes.h:1183
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo
Definition: pstypes.h:1527
ULONG ThreadInserted
Definition: pstypes.h:1107
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation
Definition: pstypes.h:1533
ULONG RefTraceEnabled
Definition: pstypes.h:1308
typedef NTSTATUS(NTAPI *PKWIN32_PROCESS_CALLOUT)(_In_ struct _EPROCESS *Process
ULONG ActiveThreads
Definition: pstypes.h:1267
PVOID Win32StartAddress
Definition: pstypes.h:1083
ULONG ActiveExWorker
Definition: pstypes.h:1131
ULONG OwnsSessionWorkingSetExclusive
Definition: pstypes.h:1156
enum _PROCESSINFOCLASS PROCESSINFOCLASS
struct _WIN32_JOBCALLOUT_PARAMETERS WIN32_JOBCALLOUT_PARAMETERS
ULONGLONG ReadTransferCount
Definition: pstypes.h:1442
struct _PROCESS_PRIORITY_CLASS PROCESS_PRIORITY_CLASS
struct _PROCESS_ACCESS_TOKEN PROCESS_ACCESS_TOKEN
PVOID Win32WindowStation
Definition: pstypes.h:1239
BOOLEAN ReadImageFileExecOptions
Definition: pstypes.h:647
PKWIN32_JOB_CALLOUT JobCallout
Definition: pstypes.h:1619
unsigned char BOOLEAN
struct _PROCESS_DEVICEMAP_INFORMATION::@3771::@3772 Set
VOID(NTAPI * PLEGO_NOTIFY_ROUTINE)(_In_ PKTHREAD Thread)
Definition: pstypes.h:601
LIST_ENTRY LpcReplyChain
Definition: pstypes.h:1039
BOOLEAN ImageUsesLargePages
Definition: pstypes.h:655
ULONG SchedulingClass
Definition: pstypes.h:1438
struct _PEB * Peb
Definition: pstypes.h:1275
TEB_ACTIVE_FRAME BasicFrame
Definition: pstypes.h:710
NTSTATUS(NTAPI * PPOST_PROCESS_INIT_ROUTINE)(VOID)
Definition: pstypes.h:608
ULONG SameThreadPassiveFlags
Definition: pstypes.h:1139
LARGE_INTEGER OtherTransferCount
Definition: pstypes.h:1282
ULONG ReportPhysicalPageChanges
Definition: pstypes.h:1305
#define _Out_
Definition: no_sal2.h:323
PVOID AlpcMessage
Definition: pstypes.h:1179
PVOID StackBase
Definition: pstypes.h:678
LIST_ENTRY ProcessListHead
Definition: pstypes.h:1412
struct _WIN32_CLOSEMETHOD_PARAMETERS * PWIN32_CLOSEMETHOD_PARAMETERS
ULONG SpareUlong0
Definition: pstypes.h:1097
struct _TEB_ACTIVE_FRAME_EX * PTEB_ACTIVE_FRAME_EX
LARGE_INTEGER ThisPeriodTotalUserTime
Definition: pstypes.h:1416
PKWIN32_SESSION_CALLOUT DesktopOkToCloseProcedure
Definition: pstypes.h:1622
ULONG Outswapped
Definition: pstypes.h:1331
LIST_ENTRY ThreadListHead
Definition: pstypes.h:1260
enum _PSW32THREADCALLOUTTYPE PSW32THREADCALLOUTTYPE
ULONG MemberLevel
Definition: pstypes.h:1459
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1422
PKWIN32_SESSION_CALLOUT DesktopDeleteProcedure
Definition: pstypes.h:1624
PVOID SectionObject
Definition: pstypes.h:1235
ULONG HandleTableRundown
Definition: pstypes.h:1306
PVOID VdmObjects
Definition: pstypes.h:1243
PCTEB_ACTIVE_FRAME_CONTEXT Context
Definition: pstypes.h:704
struct _TERMINATION_PORT * TerminationPort
Definition: pstypes.h:1050
TEB_ACTIVE_FRAME_CONTEXT BasicContext
Definition: pstypes.h:695
ULONG_PTR InheritedFromUniqueProcessId
Definition: pstypes.h:340
struct _TEB_ACTIVE_FRAME_CONTEXT_EX * PTEB_ACTIVE_FRAME_CONTEXT_EX
ULONG CreateReported
Definition: pstypes.h:1324
EX_PUSH_LOCK AddressCreationLock
Definition: pstypes.h:1221
struct _JOBOBJECT_BASIC_PROCESS_ID_LIST * PJOBOBJECT_BASIC_PROCESS_ID_LIST
PVOID Session
Definition: pstypes.h:1256
ULONG MemberLevel
Definition: pstypes.h:960
BOOLEAN BeingDebugged
Definition: pstypes.h:648
SE_AUDIT_PROCESS_CREATION_INFO SeAuditProcessCreationInfo
Definition: pstypes.h:1286
FAST_MUTEX
Definition: extypes.h:17
UNICODE_STRING ImageName
Definition: pstypes.h:934
ULONG CurrentJobMemoryUsed
Definition: pstypes.h:1450
PVOID SecurityPort
Definition: pstypes.h:1261
struct _PAGEFAULT_HISTORY * PPAGEFAULT_HISTORY
LIST_ENTRY SessionProcessLinks
Definition: pstypes.h:1205
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:1180
enum _THREADINFOCLASS THREADINFOCLASS
UCHAR SubSystemMinorVersion
Definition: pstypes.h:1378
ULONG ModifiedPageCount
Definition: pstypes.h:1293
ULONG VmDeleted
Definition: pstypes.h:1329
_PSW32JOBCALLOUTTYPE
Definition: pstypes.h:471
struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION * PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION
ULONG VmTopDown
Definition: pstypes.h:1348
struct _TEB_ACTIVE_FRAME_CONTEXT_EX TEB_ACTIVE_FRAME_CONTEXT_EX
ULONG MaximumWorkingSetSize
Definition: pstypes.h:1426
struct _PROCESS_FOREGROUND_BACKGROUND * PPROCESS_FOREGROUND_BACKGROUND
PVOID CompletionPort
Definition: pstypes.h:1435
EX_PUSH_LOCK MemoryLimitsLock
Definition: pstypes.h:1456
ULONG ExitProcessReported
Definition: pstypes.h:1302
ULONG NeedsHandleRundown
Definition: pstypes.h:1307
struct _EPROCESS_QUOTA_ENTRY * PEPROCESS_QUOTA_ENTRY
ULONG UniqueProcess
Definition: pstypes.h:717
EX_FAST_REF Token
Definition: pstypes.h:1218
struct _POOLED_USAGE_AND_LIMITS * PPOOLED_USAGE_AND_LIMITS
uint64_t ULONGLONG
Definition: typedefs.h:65
LARGE_INTEGER CreateTime
Definition: winternl.h:1060
PKWIN32_GLOBALATOMTABLE_CALLOUT GlobalAtomTableCallout
Definition: pstypes.h:1616
CLIENT_ID Cid
Definition: pstypes.h:1059
LIST_ENTRY JobLinks
Definition: pstypes.h:1411
ULONG NewProcessReported
Definition: pstypes.h:1301
UCHAR ExceptionPortState
Definition: pstypes.h:1212
_PSW32THREADCALLOUTTYPE
Definition: pstypes.h:481
struct _WIN32_POWEREVENT_PARAMETERS * PWIN32_POWEREVENT_PARAMETERS
struct _EPROCESS EPROCESS
HANDLE JobHandle
Definition: pstypes.h:959
PKWIN32_SESSION_CALLOUT WindowStationCloseProcedure
Definition: pstypes.h:1626
_APPCOMPAT_USERFLAGS_HIGHPART
Definition: pstypes.h:811
struct _THREAD_BASIC_INFORMATION THREAD_BASIC_INFORMATION
PVOID AweInfo
Definition: pstypes.h:1285
SIZE_T CommitChargePeak
Definition: pstypes.h:1284
ULONG SkipCreationMsg
Definition: pstypes.h:1116
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:1269
ULONG BreakOnTermination
Definition: pstypes.h:1115
enum _POWERSTATETASK POWERSTATETASK
ULONG_PTR TopLevelIrp
Definition: pstypes.h:1076
PVOID CompletionKey
Definition: pstypes.h:1436
struct _PS_JOB_TOKEN_FILTER PS_JOB_TOKEN_FILTER
PSPOWEREVENTTYPE EventNumber
Definition: pstypes.h:1547
NTSTATUS(NTAPI * PKWIN32_POWEREVENT_CALLOUT)(_In_ struct _WIN32_POWEREVENT_PARAMETERS *Parameters)
Definition: pstypes.h:528
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
struct _WIN32_CLOSEMETHOD_PARAMETERS WIN32_CLOSEMETHOD_PARAMETERS
enum _PSPOWEREVENTTYPE PSPOWEREVENTTYPE
ULONG ActiveImpersonationInfo
Definition: pstypes.h:1112
struct _PAGEFAULT_HISTORY PAGEFAULT_HISTORY
ULONG SmapAllowed
Definition: pstypes.h:1352
LARGE_INTEGER WriteTransferCount
Definition: pstypes.h:1281
ULONG DefaultIoPriority
Definition: pstypes.h:1358
PVOID StackLimit
Definition: pstypes.h:679
ULONGLONG TargetGEneration
Definition: pstypes.h:1025
BOOLEAN IsLegacyProcess
Definition: pstypes.h:658
unsigned __int64 ULONG64
Definition: imports.h:198
ULONG VdmAllowed
Definition: pstypes.h:1351
PLUID_AND_ATTRIBUTES CapturedPrivileges
Definition: pstypes.h:1401
PEPROCESS_QUOTA_BLOCK QuotaBlock
Definition: pstypes.h:1237
ULONG SetTimerResolution
Definition: pstypes.h:1335
struct _PROCESS_PRIORITY_CLASS * PPROCESS_PRIORITY_CLASS
unsigned char UCHAR
Definition: xmlstorage.h:181
PVOID * Win32Process
Definition: pstypes.h:1233
LARGE_INTEGER PerJobUserTimeLimit
Definition: pstypes.h:1423
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:871
KSPIN_LOCK SpinLock
Definition: pstypes.h:990
PKWIN32_SESSION_CALLOUT DesktopOpenProcedure
Definition: pstypes.h:1621
ULONG CrossThreadFlags
Definition: pstypes.h:1125
LARGE_INTEGER TotalKernelTime
Definition: pstypes.h:1415
ULONG ProcessInserted
Definition: pstypes.h:1354
ULONG CapturedSidsLength
Definition: pstypes.h:1396
LIST_ENTRY ActiveProcessLinks
Definition: pstypes.h:1199
ULONG JobMemoryLimit
Definition: pstypes.h:1447
POWER_ACTION
Definition: ntpoapi.h:122
PSID_AND_ATTRIBUTES CapturedGroups
Definition: pstypes.h:1398
_PSPOWEREVENTTYPE
Definition: pstypes.h:428
PVOID AllocatedStackBase
Definition: pstypes.h:680
#define VOID
Definition: acefi.h:82
PSECURITY_QUALITY_OF_SERVICE SecurityQos
Definition: pstypes.h:1608
ULONG ReadClusterSize
Definition: pstypes.h:1095
PPS_JOB_TOKEN_FILTER Filter
Definition: pstypes.h:1433
EX_FAST_REF PrefetchTrace
Definition: pstypes.h:1276
struct _PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION
Definition: ketypes.h:535
ULONG SecurityLimitFlags
Definition: pstypes.h:1431
EX_RUNDOWN_REF RundownProtect
Definition: pstypes.h:1197
PDEVICE_OBJECT DeviceToVerify
Definition: pstypes.h:1077
ULONG ProcessMemoryLimit
Definition: pstypes.h:1446
Definition: typedefs.h:117
PVOID LdtInformation
Definition: pstypes.h:1241
KPROCESS Pcb
Definition: pstypes.h:1193
ULONGLONG OtherOperationCount
Definition: pstypes.h:1441
ULONG OwnsSystemWorkingSetExclusive
Definition: pstypes.h:1154
ULONG TotalProcesses
Definition: pstypes.h:1419
PVOID ExtensionIdentifier
Definition: pstypes.h:711
struct _KERNEL_USER_TIMES KERNEL_USER_TIMES
ULONG SuppressSymbolLoad
Definition: pstypes.h:1159
UCHAR PriorityClass
Definition: pstypes.h:1429
PPAGEFAULT_HISTORY WorkingSetWatch
Definition: pstypes.h:1238
struct _PS_IMPERSONATION_INFORMATION PS_IMPERSONATION_INFORMATION
PROCESS_WS_WATCH_INFORMATION WatchInfo[1]
Definition: pstypes.h:992
ULONG SystemThread
Definition: pstypes.h:1113
PVOID LockedPagesList
Definition: pstypes.h:1259
PVOID VadFreeHint
Definition: pstypes.h:1242
ULONG ActiveProcessLimit
Definition: pstypes.h:1427
NTSTATUS(NTAPI * PGDI_BATCHFLUSH_ROUTINE)(VOID)
Definition: pstypes.h:546
MMSUPPORT Vm
Definition: pstypes.h:1287
_APPCOMPAT_FLAGS
Definition: pstypes.h:741
struct _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
ULONG ImageNotifyDone
Definition: pstypes.h:1349
ULONG LastReportMemory
Definition: pstypes.h:1304
struct _EPROCESS_QUOTA_BLOCK EPROCESS_QUOTA_BLOCK
LARGE_INTEGER PerProcessUserTimeLimit
Definition: pstypes.h:1482
enum _OB_OPEN_REASON OB_OPEN_REASON
SYSTEM_POWER_STATE MinSystemState
Definition: pstypes.h:1555
PVOID OfsChain
Definition: pstypes.h:1045
Definition: compat.h:428
ULONG Flags
Definition: pstypes.h:961
const struct _TEB_ACTIVE_FRAME * PCTEB_ACTIVE_FRAME
Definition: pstypes.h:706
#define _In_
Definition: no_sal2.h:204
struct _INITIAL_PEB * PINITIAL_PEB
PHANDLE_TABLE ObjectTable
Definition: pstypes.h:1217
PMM_AVL_TABLE PhysicalVadRoot
Definition: pstypes.h:1229
ULONG_PTR SIZE_T
Definition: typedefs.h:78
HANDLE Mutant
Definition: pstypes.h:668
ULONG OverrideAddressSpace
Definition: pstypes.h:1344
ULONG ExceptionPortValue
Definition: pstypes.h:1211
NTSTATUS(NTAPI * PKWIN32_DELETEMETHOD_CALLOUT)(_In_ struct _WIN32_DELETEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:570
ULONG LaunchPrefetched
Definition: pstypes.h:1346
ULONG HasAddressSpace
Definition: pstypes.h:1345
struct _WIN32_DELETEMETHOD_PARAMETERS WIN32_DELETEMETHOD_PARAMETERS
NTSTATUS ExitStatus
Definition: pstypes.h:1044
ULONGLONG OtherTransferCount
Definition: pstypes.h:1444
ULONG LpcExitThreadCalled
Definition: pstypes.h:1146
LIST_ENTRY AlpcWaitListEntry
Definition: pstypes.h:1182
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:703
SIZE_T Usage
Definition: pstypes.h:969
struct _PROCESS_SESSION_INFORMATION PROCESS_SESSION_INFORMATION
PVOID DebugPort
Definition: pstypes.h:1206
ULONG PendingRatecontrol
Definition: pstypes.h:1122
USHORT Spare7
Definition: pstypes.h:1370
unsigned short USHORT
Definition: pedump.c:61
ULONG SparePsFlags1
Definition: pstypes.h:1360
struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_ACCOUNTING_INFORMATION
ULONG MinimumWorkingSetSize
Definition: pstypes.h:1425
struct _ETHREAD ETHREAD
ULONG_PTR KAFFINITY
Definition: compat.h:75
ULONG UIRestrictionsClass
Definition: pstypes.h:1430
struct _WIN32_CALLOUTS_FPNS * PWIN32_CALLOUTS_FPNS
NTSTATUS(NTAPI * PKWIN32_CLOSEMETHOD_CALLOUT)(_In_ struct _WIN32_CLOSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:564
LIST_ENTRY QuotaList
Definition: pstypes.h:978
struct _CLIENT_ID64 * PCLIENT_ID64
struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT * PJOBOBJECT_ASSOCIATE_COMPLETION_PORT
ULONG Terminated
Definition: pstypes.h:1105
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
enum _APPHELPCACHESERVICECLASS APPHELPCACHESERVICECLASS
SIZE_T Limit
Definition: pstypes.h:970
ULONG TotalPageFaultCount
Definition: pstypes.h:1418
ULONG OwnsProcessWorkingSetShared
Definition: pstypes.h:1153
PVOID EtwDataSource
Definition: pstypes.h:1246
UCHAR ActiveFaultCount
Definition: pstypes.h:1174
struct _APPHELP_CACHE_SERVICE_LOOKUP APPHELP_CACHE_SERVICE_LOOKUP
ULONG CapturedPrivilegeCount
Definition: pstypes.h:1400
unsigned int * PULONG
Definition: retypes.h:1
LIST_ENTRY JobLinks
Definition: pstypes.h:1258
PETHREAD RotateInProgress
Definition: pstypes.h:1222
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION
NTSTATUS(NTAPI * PKWIN32_OPENMETHOD_CALLOUT)(_In_ struct _WIN32_OPENMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:552
ULONG DeprioritizeViews
Definition: pstypes.h:1338
LIST_ENTRY JobSetLinks
Definition: pstypes.h:1458
struct _EPROCESS_QUOTA_BLOCK * PEPROCESS_QUOTA_BLOCK
ULONGLONG ReadOperationCount
Definition: pstypes.h:1439
ULONG DefaultHardErrorProcessing
Definition: pstypes.h:1273
struct _WIN32_OPENMETHOD_PARAMETERS WIN32_OPENMETHOD_PARAMETERS
ULONG SessionId
Definition: pstypes.h:1437
struct _THREAD_BASIC_INFORMATION * PTHREAD_BASIC_INFORMATION
ULONG Flags
Definition: pstypes.h:1366
ULONG NoDebugInherit
Definition: pstypes.h:1325
LARGE_INTEGER OtherOperationCount
Definition: pstypes.h:1279
LARGE_INTEGER ReadTransferCount
Definition: pstypes.h:1280
_THREADINFOCLASS
Definition: compat.h:583
ULONG ProcessDelete
Definition: pstypes.h:1327
const struct _TEB_ACTIVE_FRAME_CONTEXT_EX * PCTEB_ACTIVE_FRAME_CONTEXT_EX
Definition: pstypes.h:698
PVOID FreeTebHint
Definition: pstypes.h:1247
_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:1311
ULONGLONG WriteOperationCount
Definition: pstypes.h:1440
struct _WIN32_OPENMETHOD_PARAMETERS * PWIN32_OPENMETHOD_PARAMETERS
PSW32JOBCALLOUTTYPE CalloutType
Definition: pstypes.h:1563
struct _INITIAL_TEB INITIAL_TEB
ULONG ProtectedProcess
Definition: pstypes.h:1310
struct tagContext Context
Definition: acpixf.h:1012
ULONG ERESOURCE
Definition: env_spec_w32.h:594
CHAR ImageFileName[16]
Definition: pstypes.h:1257
PKWIN32_SESSION_CALLOUT WindowStationOpenProcedure
Definition: pstypes.h:1629
unsigned int ULONG
Definition: retypes.h:1
ULONG KeyedEventInUse
Definition: pstypes.h:1134
ULONG ProcessDeleteSelf
Definition: pstypes.h:1312
PVOID PaeTop
Definition: pstypes.h:1265
Definition: pstypes.h:967
struct _JOBOBJECT_BASIC_PROCESS_ID_LIST JOBOBJECT_BASIC_PROCESS_ID_LIST
struct _EJOB EJOB
EX_PUSH_LOCK ProcessLock
Definition: pstypes.h:1194
ULONG PriorityRegionActive
Definition: pstypes.h:1161
struct _PS_IMPERSONATION_INFORMATION * PPS_IMPERSONATION_INFORMATION
const char * PCSTR
Definition: typedefs.h:51
PETHREAD ForkInProgress
Definition: pstypes.h:1227
ULONG OwnsProcessWorkingSetExclusive
Definition: pstypes.h:1152
struct _JOBOBJECT_BASIC_LIMIT_INFORMATION * PJOBOBJECT_BASIC_LIMIT_INFORMATION
POWERSTATETASK PowerStateTask
Definition: pstypes.h:1557
NTSTATUS(NTAPI * PKWIN32_OKTOCLOSEMETHOD_CALLOUT)(_In_ struct _WIN32_OKAYTOCLOSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:558
PUNICODE_STRING RemainingName
Definition: pstypes.h:1606
ULONG ExWorkerCanWaitUser
Definition: pstypes.h:1132
struct _EJOB * PEJOB
enum _PSPROCESSPRIORITYMODE PSPROCESSPRIORITYMODE
PKWIN32_SESSION_CALLOUT WindowStationParseProcedure
Definition: pstypes.h:1628
enum _APPCOMPAT_USERFLAGS APPCOMPAT_USERFLAGS
ULONG AddressSpaceInitialized
Definition: pstypes.h:1334
UCHAR DisablePageFaultClustering
Definition: pstypes.h:1173
ULONG SameThreadApcFlags
Definition: pstypes.h:1166
USHORT SubSystemVersion
Definition: pstypes.h:1381
ULONG Wow64VaSpace4Gb
Definition: pstypes.h:1333
PKWIN32_PROCESS_CALLOUT ProcessCallout
Definition: pstypes.h:1614
PVOID PreviousStackBase
Definition: pstypes.h:676
EX_PUSH_LOCK ThreadLock
Definition: pstypes.h:1091
struct _WIN32_PARSEMETHOD_PARAMETERS * PWIN32_PARSEMETHOD_PARAMETERS
PVOID PreviousStackLimit
Definition: pstypes.h:677
_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:1196
ULONG HardErrorsAreDisabled
Definition: pstypes.h:1114
PVOID SectionBaseAddress
Definition: pstypes.h:1236
SIZE_T VirtualSize
Definition: pstypes.h:1204
SIZE_T CommitCharge
Definition: pstypes.h:1202
struct _PEB_FREE_BLOCK * Next
Definition: ntddk_ex.h:230
struct _PSP_RATE_APC * PPSP_RATE_APC
MM_AVL_TABLE VadRoot
Definition: pstypes.h:1384
ULONG HideFromDebugger
Definition: pstypes.h:1111
_Out_ PUNICODE_STRING CompleteName
Definition: pstypes.h:1605
struct _PROCESS_DEVICEMAP_INFORMATION::@3771::@3773 Query
ULONG UniqueThread
Definition: pstypes.h:718
enum _APPCOMPAT_USERFLAGS_HIGHPART APPCOMPAT_USERFLAGS_HIGHPART
struct _JOBOBJECT_BASIC_UI_RESTRICTIONS * PJOBOBJECT_BASIC_UI_RESTRICTIONS
ULONG64 UniqueThread
Definition: pstypes.h:724
LPFNPSPCALLBACK Callback
Definition: desk.c:111
ULONGLONG ExcessCycles
Definition: pstypes.h:1023
_PROCESSINFOCLASS
Definition: winternl.h:392
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:1075
PKWIN32_WIN32DATACOLLECTION_CALLOUT Win32DataCollectionProcedure
Definition: pstypes.h:1631
POBJECT_TYPE NTSYSAPI PsJobType
Definition: job.c:20
BOOLEAN IsProtectedProcess
Definition: pstypes.h:657
struct _TEB_ACTIVE_FRAME_CONTEXT TEB_ACTIVE_FRAME_CONTEXT
ULONG InjectInpageErrors
Definition: pstypes.h:1347
ULONG ACCESS_MASK
Definition: nt_native.h:40
SIZE_T Peak
Definition: pstypes.h:971
ULONG CreateMsgSent
Definition: pstypes.h:1119
ULONG ThreadPagePriority
Definition: pstypes.h:1121
struct _TEB_ACTIVE_FRAME TEB_ACTIVE_FRAME
ULONG LpcReceivedMsgIdValid
Definition: pstypes.h:1145
BOOLEAN InheritedAddressSpace
Definition: pstypes.h:646
PFN_NUMBER WorkingSetPage
Definition: pstypes.h:1219
ULONG RateApcState
Definition: pstypes.h:1136
ULONG PeakJobMemoryUsed
Definition: pstypes.h:1449
IO_COUNTERS IoInfo
Definition: pstypes.h:1445
struct _JOB_SET_ARRAY * PJOB_SET_ARRAY
ULONG ProcessInSession
Definition: pstypes.h:1343
ULONG Spare
Definition: pstypes.h:1148
NTSTATUS(NTAPI * PKWIN32_PARSEMETHOD_CALLOUT)(_In_ struct _WIN32_PARSEMETHOD_PARAMETERS *Parameters)
Definition: pstypes.h:576
_In_ PSTORAGE_PROPERTY_ID _Outptr_ PSTORAGE_DESCRIPTOR_HEADER * Descriptor
Definition: classpnp.h:966
KSPIN_LOCK ActiveTimerListLock
Definition: pstypes.h:1057