SYNCHRONIZE | \
31)
+//
+// Job Limit Flags
+//
+#define JOB_OBJECT_LIMIT_WORKINGSET 0x1
+#define JOB_OBJECT_LIMIT_PROCESS_TIME 0x2
+#define JOB_OBJECT_LIMIT_JOB_TIME 0x4
+#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS 0x8
+#define JOB_OBJECT_LIMIT_AFFINITY 0x10
+#define JOB_OBJECT_LIMIT_PRIORITY_CLASS 0x20
+#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME 0x40
+#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS 0x80
+#define JOB_OBJECT_LIMIT_PROCESS_MEMORY 0x100
+#define JOB_OBJECT_LIMIT_JOB_MEMORY 0x200
+#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x400
+#define JOB_OBJECT_LIMIT_BREAKAWAY_OK 0x800
+#define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK 0x1000
+#define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE 0x2000
+
+
//
// Cross Thread Flags
//
typedef struct _ETHREAD
{
KTHREAD Tcb;
- PVOID Padding;
LARGE_INTEGER CreateTime;
union
{
#endif
PPS_IMPERSONATION_INFORMATION ImpersonationInfo;
LIST_ENTRY IrpList;
- ULONG TopLevelIrp;
+ ULONG_PTR TopLevelIrp;
PDEVICE_OBJECT DeviceToVerify;
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
PPSP_RATE_APC RateControlApc;
KSEMAPHORE AlpcWaitSemaphore;
ULONG CacheManagerCount;
#endif
-} ETHREAD, *PETHREAD;
+} ETHREAD;
//
// Executive Process (EPROCESS)
UCHAR PriorityClass;
MM_AVL_TABLE VadRoot;
ULONG Cookie;
-} EPROCESS, *PEPROCESS;
+} EPROCESS;
//
// Job Token Filter Data