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