_ETHREAD

//0x4c8 bytes (sizeof) struct _ETHREAD { struct _KTHREAD Tcb; //0x0 union _LARGE_INTEGER CreateTime; //0x348 union { union _LARGE_INTEGER ExitTime; //0x350 struct _LIST_ENTRY KeyedWaitChain; //0x350 }; VOID* ChargeOnlySession; //0x360 union { struct _LIST_ENTRY PostBlockList; //0x368 struct { VOID* ForwardLinkShadow; //0x368 VOID* StartAddress; //0x370 }; }; union { struct _TERMINATION_PORT* TerminationPort; //0x378 struct _ETHREAD* ReaperLink; //0x378 VOID* KeyedWaitValue; //0x378 }; ULONGLONG ActiveTimerListLock; //0x380 struct _LIST_ENTRY ActiveTimerListHead; //0x388 struct _CLIENT_ID Cid; //0x398 union { struct _KSEMAPHORE KeyedWaitSemaphore; //0x3a8 struct _KSEMAPHORE AlpcWaitSemaphore; //0x3a8 }; union _PS_CLIENT_SECURITY_CONTEXT ClientSecurity; //0x3c8 struct _LIST_ENTRY IrpList; //0x3d0 ULONGLONG TopLevelIrp; //0x3e0 struct _DEVICE_OBJECT* DeviceToVerify; //0x3e8 VOID* Win32StartAddress; //0x3f0 VOID* LegacyPowerObject; //0x3f8 struct _LIST_ENTRY ThreadListEntry; //0x400 struct _EX_RUNDOWN_REF RundownProtect; //0x410 struct _EX_PUSH_LOCK ThreadLock; //0x418 ULONG ReadClusterSize; //0x420 volatile LONG MmLockOrdering; //0x424 volatile LONG CmLockOrdering; //0x428 union { ULONG CrossThreadFlags; //0x42c struct { ULONG Terminated:1; //0x42c ULONG ThreadInserted:1; //0x42c ULONG HideFromDebugger:1; //0x42c ULONG ActiveImpersonationInfo:1; //0x42c ULONG HardErrorsAreDisabled:1; //0x42c ULONG BreakOnTermination:1; //0x42c ULONG SkipCreationMsg:1; //0x42c ULONG SkipTerminationMsg:1; //0x42c ULONG CopyTokenOnOpen:1; //0x42c ULONG ThreadIoPriority:3; //0x42c ULONG ThreadPagePriority:3; //0x42c ULONG RundownFail:1; //0x42c ULONG UmsForceQueueTermination:1; //0x42c ULONG ReservedCrossThreadFlags:15; //0x42c }; }; union { ULONG SameThreadPassiveFlags; //0x430 struct { ULONG ActiveExWorker:1; //0x430 ULONG MemoryMaker:1; //0x430 ULONG ClonedThread:1; //0x430 ULONG KeyedEventInUse:1; //0x430 ULONG SelfTerminate:1; //0x430 }; }; union { ULONG SameThreadApcFlags; //0x434 struct { UCHAR Spare:1; //0x434 volatile UCHAR StartAddressInvalid:1; //0x434 UCHAR EtwCalloutActive:1; //0x434 UCHAR OwnsProcessWorkingSetExclusive:1; //0x434 UCHAR OwnsProcessWorkingSetShared:1; //0x434 UCHAR OwnsSystemCacheWorkingSetExclusive:1; //0x434 UCHAR OwnsSystemCacheWorkingSetShared:1; //0x434 UCHAR OwnsSessionWorkingSetExclusive:1; //0x434 UCHAR OwnsSessionWorkingSetShared:1; //0x435 UCHAR OwnsProcessAddressSpaceExclusive:1; //0x435 UCHAR OwnsProcessAddressSpaceShared:1; //0x435 UCHAR SuppressSymbolLoad:1; //0x435 UCHAR Prefetching:1; //0x435 UCHAR OwnsVadExclusive:1; //0x435 UCHAR OwnsChangeControlAreaExclusive:1; //0x435 UCHAR OwnsChangeControlAreaShared:1; //0x435 UCHAR OwnsPagedPoolWorkingSetExclusive:1; //0x436 UCHAR OwnsPagedPoolWorkingSetShared:1; //0x436 UCHAR OwnsSystemPtesWorkingSetExclusive:1; //0x436 UCHAR OwnsSystemPtesWorkingSetShared:1; //0x436 UCHAR TrimTrigger:2; //0x436 UCHAR Spare2:2; //0x436 UCHAR PriorityRegionActive; //0x437 }; }; UCHAR CacheManagerActive; //0x438 UCHAR DisablePageFaultClustering; //0x439 UCHAR ActiveFaultCount; //0x43a UCHAR LockOrderState; //0x43b ULONGLONG AlpcMessageId; //0x440 union { VOID* AlpcMessage; //0x448 ULONG AlpcReceiveAttributeSet; //0x448 }; LONG ExitStatus; //0x450 struct _LIST_ENTRY AlpcWaitListEntry; //0x458 ULONG CacheManagerCount; //0x468 ULONG IoBoostCount; //0x46c struct _LIST_ENTRY BoostList; //0x470 struct _LIST_ENTRY DeboostList; //0x480 ULONGLONG BoostListLock; //0x490 ULONGLONG IrpListLock; //0x498 VOID* ReservedForSynchTracking; //0x4a0 struct _SINGLE_LIST_ENTRY CmCallbackListHead; //0x4a8 struct _GUID* ActivityId; //0x4b0 VOID* WnfContext; //0x4b8 ULONG KernelStackReference; //0x4c0 };