struct _ETHREAD { struct _KTHREAD Tcb;/* 0x0 432 */ /* ── cacheline 6 boundary (384 bytes) ── */ union _LARGE_INTEGER CreateTime;/* 0x1b0 8 */ union { union _LARGE_INTEGER ExitTime;/* 0x1b8 8 */ struct _LIST_ENTRY LpcReplyChain;/* 0x1b8 8 */ };/* 0x1b8 8 */ /* ── cacheline 7 boundary (448 bytes) ── */ union { long ExitStatus;/* 0x1c0 4 */ void* OfsChain;/* 0x1c0 4 */ };/* 0x1c0 4 */ struct _LIST_ENTRY PostBlockList;/* 0x1c4 8 */ struct _LIST_ENTRY TerminationPortList;/* 0x1cc 8 */ unsigned long ActiveTimerListLock;/* 0x1d4 4 */ struct _LIST_ENTRY ActiveTimerListHead;/* 0x1d8 8 */ struct _CLIENT_ID Cid;/* 0x1e0 8 */ struct _KSEMAPHORE LpcReplySemaphore;/* 0x1e8 20 */ void* LpcReplyMessage;/* 0x1fc 4 */ /* ── cacheline 8 boundary (512 bytes) ── */ unsigned long LpcReplyMessageId;/* 0x200 4 */ unsigned long PerformanceCountLow;/* 0x204 4 */ struct _PS_IMPERSONATION_INFORMATION* ImpersonationInfo;/* 0x208 4 */ struct _LIST_ENTRY IrpList;/* 0x20c 8 */ unsigned long TopLevelIrp;/* 0x214 4 */ struct _DEVICE_OBJECT* DeviceToVerify;/* 0x218 4 */ unsigned long ReadClusterSize;/* 0x21c 4 */ unsigned char ForwardClusterOnly;/* 0x220 1 */ unsigned char DisablePageFaultClustering;/* 0x221 1 */ unsigned char DeadThread;/* 0x222 1 */ unsigned char HasTerminated;/* 0x223 1 */ struct _EEVENT_PAIR* EventPair;/* 0x224 4 */ unsigned long GrantedAccess;/* 0x228 4 */ struct _EPROCESS* ThreadsProcess;/* 0x22c 4 */ void* StartAddress;/* 0x230 4 */ union { void* Win32StartAddress;/* 0x234 4 */ unsigned long LpcReceivedMessageId;/* 0x234 4 */ };/* 0x234 4 */ unsigned char LpcExitThreadCalled;/* 0x238 1 */ unsigned char HardErrorsAreDisabled;/* 0x239 1 */ unsigned char LpcReceivedMsgIdValid;/* 0x23a 1 */ unsigned char ActiveImpersonationInfo;/* 0x23b 1 */ long PerformanceCountHigh;/* 0x23c 4 */};/* source: NT 4.0 DDK (August 1996) PPC LIBCNTPR.LIB CodeView type records; _EPROCESS/_ETHREAD offsets match KDEXTPPC.DLL (NT 4.0 Server CD) */size 576 (0x240)35 members0 holespadding 09 cachelines
Used in (2)