x86 / ntdllntoskrnl /

_TEB

← 10.0.18362.1016 17 builds latest →
struct _TEB {
void* EnvironmentPointer;/* 0x1c 4 */
void* ActiveRpcHandle;/* 0x28 4 */
void* ThreadLocalStoragePointer;/* 0x2c 4 */
unsigned long LastErrorValue;/* 0x34 4 */
unsigned long CountOfOwnedCriticalSections;/* 0x38 4 */
void* CsrClientThread;/* 0x3c 4 */
/* ── cacheline 1 boundary (64 bytes) ── */
void* Win32ThreadInfo;/* 0x40 4 */
unsigned long User32Reserved[26];/* 0x44 104 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned long UserReserved[5];/* 0xac 20 */
/* ── cacheline 3 boundary (192 bytes) ── */
void* WOW32Reserved;/* 0xc0 4 */
unsigned long CurrentLocale;/* 0xc4 4 */
unsigned long FpSoftwareStatusRegister;/* 0xc8 4 */
void* ReservedForDebuggerInstrumentation[16];/* 0xcc 64 */
/* ── cacheline 4 boundary (256 bytes) ── */
void* SystemReserved1[26];/* 0x10c 104 */
/* ── cacheline 5 boundary (320 bytes) ── */
char PlaceholderCompatibilityMode;/* 0x174 1 */
unsigned char PlaceholderHydrationAlwaysExplicit;/* 0x175 1 */
char PlaceholderReserved[10];/* 0x176 10 */
/* ── cacheline 6 boundary (384 bytes) ── */
unsigned long ProxiedProcessId;/* 0x180 4 */
unsigned char WorkingOnBehalfTicket[8];/* 0x19c 8 */
long ExceptionCode;/* 0x1a4 4 */
unsigned long InstrumentationCallbackSp;/* 0x1ac 4 */
unsigned long InstrumentationCallbackPreviousPc;/* 0x1b0 4 */
unsigned long InstrumentationCallbackPreviousSp;/* 0x1b4 4 */
unsigned char InstrumentationCallbackDisabled;/* 0x1b8 1 */
unsigned char SpareBytes[23];/* 0x1b9 23 */
/* ── cacheline 7 boundary (448 bytes) ── */
unsigned long TxFsContext;/* 0x1d0 4 */
/* ── cacheline 26 boundary (1664 bytes) ── */
void* GdiCachedProcessHandle;/* 0x6bc 4 */
/* ── cacheline 27 boundary (1728 bytes) ── */
unsigned long GdiClientPID;/* 0x6c0 4 */
unsigned long GdiClientTID;/* 0x6c4 4 */
void* GdiThreadLocalInfo;/* 0x6c8 4 */
unsigned long Win32ClientInfo[62];/* 0x6cc 248 */
/* ── cacheline 31 boundary (1984 bytes) ── */
void* glDispatchTable[233];/* 0x7c4 932 */
/* ── cacheline 45 boundary (2880 bytes) ── */
unsigned long glReserved1[29];/* 0xb68 116 */
/* ── cacheline 47 boundary (3008 bytes) ── */
void* glReserved2;/* 0xbdc 4 */
void* glSectionInfo;/* 0xbe0 4 */
void* glSection;/* 0xbe4 4 */
void* glTable;/* 0xbe8 4 */
void* glCurrentRC;/* 0xbec 4 */
void* glContext;/* 0xbf0 4 */
unsigned long LastStatusValue;/* 0xbf4 4 */
/* ── cacheline 48 boundary (3072 bytes) ── */
wchar_t StaticUnicodeBuffer[261];/* 0xc00 522 */
/* 2 bytes padding */
/* ── cacheline 56 boundary (3584 bytes) ── */
void* DeallocationStack;/* 0xe0c 4 */
void* TlsSlots[64];/* 0xe10 256 */
/* ── cacheline 60 boundary (3840 bytes) ── */
void* Vdm;/* 0xf18 4 */
void* ReservedForNtRpc;/* 0xf1c 4 */
void* DbgSsReserved[2];/* 0xf20 8 */
unsigned long HardErrorMode;/* 0xf28 4 */
void* Instrumentation[9];/* 0xf2c 36 */
/* ── cacheline 61 boundary (3904 bytes) ── */
void* SubProcessTag;/* 0xf60 4 */
void* PerflibData;/* 0xf64 4 */
void* EtwTraceData;/* 0xf68 4 */
void* WinSockData;/* 0xf6c 4 */
unsigned long GdiBatchCount;/* 0xf70 4 */
union {
unsigned long IdealProcessorValue;/* 0xf74 4 */
struct {
unsigned char ReservedPad0;/* 0xf74 1 */
unsigned char ReservedPad1;/* 0xf75 1 */
unsigned char ReservedPad2;/* 0xf76 1 */
unsigned char IdealProcessor;/* 0xf77 1 */
};/* 0xf74 4 */
};/* 0xf74 4 */
unsigned long GuaranteedStackBytes;/* 0xf78 4 */
void* ReservedForPerf;/* 0xf7c 4 */
/* ── cacheline 62 boundary (3968 bytes) ── */
void* ReservedForOle;/* 0xf80 4 */
unsigned long WaitingOnLoaderLock;/* 0xf84 4 */
void* SavedPriorityState;/* 0xf88 4 */
unsigned long ReservedForCodeCoverage;/* 0xf8c 4 */
void* ThreadPoolData;/* 0xf90 4 */
void** TlsExpansionSlots;/* 0xf94 4 */
unsigned long MuiGeneration;/* 0xf98 4 */
unsigned long IsImpersonating;/* 0xf9c 4 */
void* NlsCache;/* 0xfa0 4 */
void* pShimData;/* 0xfa4 4 */
unsigned long HeapData;/* 0xfa8 4 */
void* CurrentTransactionHandle;/* 0xfac 4 */
void* FlsData;/* 0xfb4 4 */
void* PreferredLanguages;/* 0xfb8 4 */
void* UserPrefLanguages;/* 0xfbc 4 */
/* ── cacheline 63 boundary (4032 bytes) ── */
void* MergedPrefLanguages;/* 0xfc0 4 */
unsigned long MuiImpersonation;/* 0xfc4 4 */
union {
volatile unsigned short CrossTebFlags;/* 0xfc8 2 */
unsigned short SpareCrossTebBits : 16;/* 0xfc8:0 2 */
};/* 0xfc8 2 */
union {
unsigned short SameTebFlags;/* 0xfca 2 */
struct {
unsigned short SafeThunkCall : 1;/* 0xfca:0 2 */
unsigned short InDebugPrint : 1;/* 0xfca:1 2 */
unsigned short HasFiberData : 1;/* 0xfca:2 2 */
unsigned short SkipThreadAttach : 1;/* 0xfca:3 2 */
unsigned short WerInShipAssertCode : 1;/* 0xfca:4 2 */
unsigned short RanProcessInit : 1;/* 0xfca:5 2 */
unsigned short ClonedThread : 1;/* 0xfca:6 2 */
unsigned short SuppressDebugMsg : 1;/* 0xfca:7 2 */
unsigned short DisableUserStackWalk : 1;/* 0xfca:8 2 */
unsigned short RtlExceptionAttached : 1;/* 0xfca:9 2 */
unsigned short InitialThread : 1;/* 0xfca:10 2 */
unsigned short SessionAware : 1;/* 0xfca:11 2 */
unsigned short LoadOwner : 1;/* 0xfca:12 2 */
unsigned short LoaderWorker : 1;/* 0xfca:13 2 */
unsigned short SkipLoaderInit : 1;/* 0xfca:14 2 */
unsigned short SpareSameTebBits : 1;/* 0xfca:15 2 */
};/* 0xfca 2 */
};/* 0xfca 2 */
void* TxnScopeEnterCallback;/* 0xfcc 4 */
void* TxnScopeExitCallback;/* 0xfd0 4 */
void* TxnScopeContext;/* 0xfd4 4 */
unsigned long LockCount;/* 0xfd8 4 */
long WowTebOffset;/* 0xfdc 4 */
void* ResourceRetValue;/* 0xfe0 4 */
void* ReservedForWdf;/* 0xfe4 4 */
unsigned __int64 ReservedForCrt;/* 0xfe8 8 */
};
size 4096 (0x1000)117 members1 hole (2 bytes)padding 064 cachelines