#define PROCESS_PRIORITY_CLASS_BELOW_NORMAL 5
#define PROCESS_PRIORITY_CLASS_ABOVE_NORMAL 6
+//
+// NtCreateProcessEx flags
+//
+#define PS_REQUEST_BREAKAWAY 1
+#define PS_NO_DEBUG_INHERIT 2
+#define PS_INHERIT_HANDLES 4
+#define PS_UNKNOWN_VALUE 8
+#define PS_ALL_FLAGS (PS_REQUEST_BREAKAWAY | \
+ PS_NO_DEBUG_INHERIT | \
+ PS_INHERIT_HANDLES | \
+ PS_UNKNOWN_VALUE)
+
//
// Process base priorities
//
#define PROCESS_PRIORITY_NORMAL 8
#define PROCESS_PRIORITY_NORMAL_FOREGROUND 9
-#if 0
+//
+// Process Access Types
+//
+#ifndef NTOS_MODE_USER
+#define PROCESS_TERMINATE 0x0001
+#define PROCESS_CREATE_THREAD 0x0002
+#define PROCESS_SET_SESSIONID 0x0004
+#define PROCESS_VM_OPERATION 0x0008
+#define PROCESS_VM_READ 0x0010
+#define PROCESS_VM_WRITE 0x0020
+#define PROCESS_CREATE_PROCESS 0x0080
+#define PROCESS_SET_QUOTA 0x0100
+#define PROCESS_SET_INFORMATION 0x0200
+#define PROCESS_QUERY_INFORMATION 0x0400
+#define PROCESS_SUSPEND_RESUME 0x0800
+#define PROCESS_QUERY_LIMITED_INFORMATION 0x1000
+#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF)
+
+
//
// Job Access Types
//
//
// Descriptor Table Entry Definition
//
+#define _DESCRIPTOR_TABLE_ENTRY_DEFINED
typedef struct _DESCRIPTOR_TABLE_ENTRY
{
ULONG Selector;
#include <pshpack4.h>
typedef struct _ETHREAD
{
- KTHREAD Tcb; /* 1C0 */
- LARGE_INTEGER CreateTime; /* 1C0 */
- LARGE_INTEGER ExitTime; /* 1C0 */
+ KTHREAD Tcb; /* 000 */
+ PVOID Padding; /* 1B4 */
+ LARGE_INTEGER CreateTime; /* 1B8 */
union
{
+ LARGE_INTEGER ExitTime; /* 1C0 */
LIST_ENTRY LpcReplyChain; /* 1C0 */
LIST_ENTRY KeyedWaitChain; /* 1C0 */
};
PVOID KeyedWaitValue; /* 1D4 */
};
KSPIN_LOCK ActiveTimerListLock; /* 1D8 */
- LIST_ENTRY ActiveTimerListHead; /* 1D8 */
- CLIENT_ID Cid; /* 1E0 */
+ LIST_ENTRY ActiveTimerListHead; /* 1DC */
+ CLIENT_ID Cid; /* 1E4 */
union
{
- KSEMAPHORE LpcReplySemaphore; /* 1E4 */
- KSEMAPHORE KeyedReplySemaphore; /* 1E4 */
+ KSEMAPHORE LpcReplySemaphore; /* 1EC */
+ KSEMAPHORE KeyedReplySemaphore; /* 1EC */
};
union
{
LIST_ENTRY ThreadListHead; /* 184 */
PVOID SecurityPort; /* 188 */
PVOID PaeTop; /* 18C */
- ULONG ActiveThreds; /* 190 */
+ ULONG ActiveThreads; /* 190 */
ACCESS_MASK GrantedAccess; /* 194 */
ULONG DefaultHardErrorProcessing; /* 198 */
NTSTATUS LastThreadExitStatus; /* 19C */