Min version | XP | XP SP2 | 2003/XP64 | 2003/XP64 SP2 | 2003/XP64 SP1 | Vista | Vista SP1 | 7 | 8 Pre RTM | 8 Pre RTM | 8.1 | 10 Pre RTM | 10 Pre RTM | 10 Pre RTM | 10 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Max version | XP SP1 | XP SP3 | 2003/XP64 SP2 | Vista SP2 | 7 SP1 | 8.1 Update 1 | 10 TH2 | |||||||||||||
Architecture | x86 | x86 | x86 | x86 | x64 | x86 | x86 | x64 | x86 | x64 | x86 | x64 | x86 | x64 | x64 | x86 | x64 | x86 | x64 | |
x86 offset offset:bitpos | Field Name | x64 offset offset:bitpos | ||||||||||||||||||
0x0000 | struct _NT_TIB NtTib | 0x0000 | ||||||||||||||||||
0x001C | void * EnvironmentPointer | 0x0038 | ||||||||||||||||||
0x0020 | struct _CLIENT_ID ClientId | 0x0040 | ||||||||||||||||||
0x0028 | void * ActiveRpcHandle | 0x0050 | ||||||||||||||||||
0x002C | void * ThreadLocalStoragePointer | 0x0058 | ||||||||||||||||||
0x0030 | struct _PEB * ProcessEnvironmentBlock | 0x0060 | ||||||||||||||||||
0x0034 | unsigned long LastErrorValue | 0x0068 | ||||||||||||||||||
0x0038 | unsigned long CountOfOwnedCriticalSections | 0x006C | ||||||||||||||||||
0x003C | void * CsrClientThread | 0x0070 | ||||||||||||||||||
0x0040 | void * Win32ThreadInfo | 0x0078 | ||||||||||||||||||
0x0044 | unsigned long[26] User32Reserved | 0x0080 | ||||||||||||||||||
0x00AC | unsigned long[5] UserReserved | 0x00E8 | ||||||||||||||||||
0x00C0 | void * WOW32Reserved | 0x0100 | ||||||||||||||||||
0x00C4 | unsigned long CurrentLocale | 0x0108 | ||||||||||||||||||
0x00C8 | unsigned long FpSoftwareStatusRegister | 0x010C | ||||||||||||||||||
0x00CC | void *[54] SystemReserved1 | void *[16] ReservedForDebuggerInstrumentation | 0x0110 | |||||||||||||||||
0x010C | void *[38] SystemReserved1 | 0x0190 | ||||||||||||||||||
0x01A4 | long ExceptionCode | 0x02C0 | ||||||||||||||||||
uint8_t[4] Padding0 | uint8_t[4] Padding0 | uint8_t[4] Padding0 | 0x02C4 | |||||||||||||||||
0x01A8 | struct _ACTIVATION_CONTEXT_STACK ActivationContextStack | struct _ACTIVATION_CONTEXT_STACK * ActivationContextStackPointer | 0x02C8 | |||||||||||||||||
0x01AC | uint8_t[40] SpareBytes1 | uint8_t[28] SpareBytes1 | uint8_t[36] SpareBytes1 | uint8_t[24] SpareBytes1 | x86: uint8_t[36] / x64: uint8_t[24] SpareBytes | x86: uint8_t[36] / x64: uint8_t[24] SpareBytes | x86: uint8_t[36] / x64: uint8_t[24] SpareBytes | x86: uint8_t[36] / x64: uint8_t[24] SpareBytes | x86: uint8_t[36] / x64: uint8_t[24] SpareBytes | x86: uint8_t[36] / x64: uint8_t[24] SpareBytes | uintptr_t InstrumentationCallbackSp | 0x02D0 | ||||||||
0x01B0 | uintptr_t InstrumentationCallbackPreviousPc | 0x02D8 | ||||||||||||||||||
0x01B4 | uintptr_t InstrumentationCallbackPreviousSp | 0x02E0 | ||||||||||||||||||
0x01B8 | uint8_t[4] Padding1 | uint8_t InstrumentationCallbackDisabled | uint8_t InstrumentationCallbackDisabled | 0x02EC | ||||||||||||||||
0x01B9 | uint8_t[23] SpareBytes | uint8_t[23] SpareBytes | ||||||||||||||||||
0x01BC | uint8_t[24] SpareBytes1 | |||||||||||||||||||
0x01D0 | unsigned long TxFsContext | 0x02E8 | ||||||||||||||||||
uint8_t[3] Padding1 | uint8_t[3] Padding1 | uint8_t[3] Padding1 | 0x02ED | |||||||||||||||||
0x01D4 | struct _GDI_TEB_BATCH GdiTebBatch | 0x02F0 | ||||||||||||||||||
0x06B4 | struct _CLIENT_ID RealClientId | 0x07D8 | ||||||||||||||||||
0x06BC | void * GdiCachedProcessHandle | 0x07E8 | ||||||||||||||||||
0x06C0 | unsigned long GdiClientPID | 0x07F0 | ||||||||||||||||||
0x06C4 | unsigned long GdiClientTID | 0x07F4 | ||||||||||||||||||
0x06C8 | void * GdiThreadLocalInfo | 0x07F8 | ||||||||||||||||||
0x06CC | uintptr_t[62] Win32ClientInfo | 0x0800 | ||||||||||||||||||
0x07C4 | void *[233] glDispatchTable | 0x09F0 | ||||||||||||||||||
0x0B68 | uintptr_t[29] glReserved1 | 0x1138 | ||||||||||||||||||
0x0BDC | void * glReserved2 | 0x1220 | ||||||||||||||||||
0x0BE0 | void * glSectionInfo | 0x1228 | ||||||||||||||||||
0x0BE4 | void * glSection | 0x1230 | ||||||||||||||||||
0x0BE8 | void * glTable | 0x1238 | ||||||||||||||||||
0x0BEC | void * glCurrentRC | 0x1240 | ||||||||||||||||||
0x0BF0 | void * glContext | 0x1248 | ||||||||||||||||||
0x0BF4 | unsigned long LastStatusValue | 0x1250 | ||||||||||||||||||
uint8_t[4] Padding2 | uint8_t[4] Padding2 | uint8_t[4] Padding2 | 0x1254 | |||||||||||||||||
0x0BF8 | struct _UNICODE_STRING StaticUnicodeString | 0x1258 | ||||||||||||||||||
0x0C00 | uint16_t[261] StaticUnicodeBuffer | wchar_t[261] StaticUnicodeBuffer | uint16_t[261] StaticUnicodeBuffer | wchar_t[261] StaticUnicodeBuffer | 0x1268 | |||||||||||||||
uint8_t[6] Padding3 | uint8_t[6] Padding3 | uint8_t[6] Padding3 | 0x1472 | |||||||||||||||||
0x0E0C | void * DeallocationStack | 0x1478 | ||||||||||||||||||
0x0E10 | void *[64] TlsSlots | 0x1480 | ||||||||||||||||||
0x0F10 | struct _LIST_ENTRY TlsLinks | 0x1680 | ||||||||||||||||||
0x0F18 | void * Vdm | 0x1690 | ||||||||||||||||||
0x0F1C | void * ReservedForNtRpc | 0x1698 | ||||||||||||||||||
0x0F20 | void *[2] DbgSsReserved | 0x16A0 | ||||||||||||||||||
0x0F28 | unsigned long HardErrorsAreDisabled | unsigned long HardErrorMode | 0x16B0 | |||||||||||||||||
uint8_t[4] Padding4 | uint8_t[4] Padding4 | uint8_t[4] Padding4 | 0x16B4 | |||||||||||||||||
0x0F2C | void *[16] Instrumentation | void *[14] Instrumentation | void *[9] Instrumentation | void *[11] Instrumentation | void *[9] Instrumentation | void *[11] Instrumentation | void *[9] Instrumentation | void *[11] Instrumentation | void *[9] Instrumentation | void *[11] Instrumentation | void *[9] Instrumentation | void *[11] Instrumentation | void *[9] Instrumentation | void *[11] Instrumentation | 0x16B8 | |||||
0x0F50 | struct _GUID ActivityId | 0x1710 | ||||||||||||||||||
0x0F60 | void * SubProcessTag | 0x1720 | ||||||||||||||||||
0x0F64 | void * SubProcessTag | void * EtwLocalData | void * PerflibData | 0x1728 | ||||||||||||||||
0x0F68 | void * EtwTraceData | 0x1730 | ||||||||||||||||||
0x0F6C | void * WinSockData | 0x1738 | ||||||||||||||||||
0x0F70 | unsigned long GdiBatchCount | 0x1740 | ||||||||||||||||||
0x0F74 | uint8_t InDbgPrint | uint8_t SpareBool0 | struct _PROCESSOR_NUMBER CurrentIdealProcessor | 0x1744 | ||||||||||||||||
0x0F74 | unsigned long IdealProcessorValue | 0x1744 | ||||||||||||||||||
0x0F74 | uint8_t ReservedPad0 | 0x1744 | ||||||||||||||||||
0x0F75 | uint8_t FreeStackOnTermination | uint8_t SpareBool1 | uint8_t ReservedPad1 | 0x1745 | ||||||||||||||||
0x0F76 | uint8_t HasFiberData | uint8_t SpareBool2 | uint8_t ReservedPad2 | 0x1746 | ||||||||||||||||
0x0F77 | uint8_t IdealProcessor | 0x1747 | ||||||||||||||||||
0x0F78 | unsigned long Spare3 | unsigned long GuaranteedStackBytes | 0x1748 | |||||||||||||||||
uint8_t[4] Padding5 | uint8_t[4] Padding5 | uint8_t[4] Padding5 | 0x174C | |||||||||||||||||
0x0F7C | void * ReservedForPerf | 0x1750 | ||||||||||||||||||
0x0F80 | void * ReservedForOle | 0x1758 | ||||||||||||||||||
0x0F84 | unsigned long WaitingOnLoaderLock | 0x1760 | ||||||||||||||||||
uint8_t[4] Padding6 | uint8_t[4] Padding6 | uint8_t[4] Padding6 | 0x1764 | |||||||||||||||||
0x0F88 | struct _Wx86ThreadState Wx86Thread | uintptr_t SparePointer1 | void * SavedPriorityState | 0x1768 | ||||||||||||||||
0x0F8C | uintptr_t SoftPatchPtr1 | uintptr_t ReservedForCodeCoverage | 0x1770 | |||||||||||||||||
0x0F90 | uintptr_t SoftPatchPtr2 | void * ThreadPoolData | 0x1778 | |||||||||||||||||
0x0F94 | void * * TlsExpansionSlots | 0x1780 | ||||||||||||||||||
void * DeallocationBStore | void * DeallocationBStore | void * DeallocationBStore | void * DeallocationBStore | void * DeallocationBStore | void * DeallocationBStore | void * DeallocationBStore | 0x1788 | |||||||||||||
void * BStoreLimit | void * BStoreLimit | void * BStoreLimit | void * BStoreLimit | void * BStoreLimit | void * BStoreLimit | void * BStoreLimit | 0x1790 | |||||||||||||
0x0F98 | unsigned long ImpersonationLocale | unsigned long MuiGeneration | 0x1798 | |||||||||||||||||
0x0F9C | unsigned long IsImpersonating | 0x179C | ||||||||||||||||||
0x0FA0 | void * NlsCache | 0x17A0 | ||||||||||||||||||
0x0FA4 | void * pShimData | 0x17A8 | ||||||||||||||||||
0x0FA8 | unsigned long HeapVirtualAffinity | uint16_t HeapVirtualAffinity | 0x17B0 | |||||||||||||||||
0x0FAA | uint16_t LowFragHeapDataSlot | 0x17B2 | ||||||||||||||||||
uint8_t[4] Padding7 | uint8_t[4] Padding7 | uint8_t[4] Padding7 | 0x17B4 | |||||||||||||||||
0x0FAC | void * CurrentTransactionHandle | 0x17B8 | ||||||||||||||||||
0x0FB0 | struct _TEB_ACTIVE_FRAME * ActiveFrame | 0x17C0 | ||||||||||||||||||
0x0FB4 | uint8_t SafeThunkCall | void * FlsData | 0x17C8 | |||||||||||||||||
0x0FB5 | uint8_t[3] BooleanSpare | |||||||||||||||||||
0x0FB8 | uint8_t SafeThunkCall | void * PreferredLanguages | 0x17D0 | |||||||||||||||||
0x0FB9 | uint8_t[3] BooleanSpare | 0x17D1 | ||||||||||||||||||
0x0FBC | void * UserPrefLanguages | 0x17D8 | ||||||||||||||||||
0x0FC0 | void * MergedPrefLanguages | 0x17E0 | ||||||||||||||||||
0x0FC4 | unsigned long MuiImpersonation | 0x17E8 | ||||||||||||||||||
0x0FC8 | volatile uint16_t CrossTebFlags | 0x17EC | ||||||||||||||||||
0x0FC8:0x00 | uint16_t SpareCrossTebBits | 0x17EC:0x00 | ||||||||||||||||||
0x0FCA | uint16_t SameTebFlags | 0x17EE | ||||||||||||||||||
0x0FCA:0x00 | uint16_t DbgSafeThunkCall | uint16_t SafeThunkCall | 0x17EE:0x00 | |||||||||||||||||
0x0FCA:0x01 | uint16_t DbgInDebugPrint | uint16_t InDebugPrint | 0x17EE:0x01 | |||||||||||||||||
0x0FCA:0x02 | uint16_t DbgHasFiberData | uint16_t HasFiberData | 0x17EE:0x02 | |||||||||||||||||
0x0FCA:0x03 | uint16_t DbgSkipThreadAttach | uint16_t SkipThreadAttach | 0x17EE:0x03 | |||||||||||||||||
0x0FCA:0x04 | uint16_t DbgWerInShipAssertCode | uint16_t WerInShipAssertCode | 0x17EE:0x04 | |||||||||||||||||
0x0FCA:0x05 | uint16_t DbgRanProcessInit | uint16_t RanProcessInit | 0x17EE:0x05 | |||||||||||||||||
0x0FCA:0x06 | uint16_t DbgClonedThread | uint16_t ClonedThread | 0x17EE:0x06 | |||||||||||||||||
0x0FCA:0x07 | uint16_t DbgSuppressDebugMsg | uint16_t SuppressDebugMsg | 0x17EE:0x07 | |||||||||||||||||
0x0FCA:0x08 | uint16_t SpareSameTebBits | uint16_t RtlDisableUserStackWalk | uint16_t DisableUserStackWalk | 0x17EE:0x08 | ||||||||||||||||
0x0FCA:0x09 | uint16_t RtlExceptionAttached | 0x17EE:0x09 | ||||||||||||||||||
0x0FCA:0x0A | uint16_t SpareSameTebBits | uint16_t InitialThread | 0x17EE:0x0A | |||||||||||||||||
0x0FCA:0x0B | uint16_t SpareSameTebBits | uint16_t SessionAware | 0x17EE:0x0B | |||||||||||||||||
0x0FCA:0x0C | uint16_t DisabledStackCheck | uint16_t SpareSameTebBits | uint16_t LoadOwner | 0x17EE:0x0C | ||||||||||||||||
0x0FCA:0x0D | uint16_t SpareSameTebBits | uint16_t LoaderWorker | 0x17EE:0x0D | |||||||||||||||||
0x0FCA:0x0E | uint16_t SpareSameTebBits | 0x17EE:0x0E | ||||||||||||||||||
0x0FCC | void * TxnScopeEnterCallback | 0x17F0 | ||||||||||||||||||
0x0FD0 | void * TxnScopeExitCallback | 0x17F8 | ||||||||||||||||||
0x0FD4 | void * TxnScopeContext | 0x1800 | ||||||||||||||||||
0x0FD8 | unsigned long LockCount | 0x1808 | ||||||||||||||||||
0x0FDC | unsigned long ProcessRundown | unsigned long SpareUlong0 | long WowTebOffset | 0x180C | ||||||||||||||||
0x0FE0 | uint64_t LastSwitchTime | uint64_t LastSwitchTime | void * ResourceRetValue | 0x1810 | ||||||||||||||||
0x0FE4 | void * ReservedForWdf | void * ReservedForWdf | void * ReservedForWdf | void * ReservedForWdf | void * ReservedForWdf | void * ReservedForWdf | void * ReservedForWdf | void * ReservedForWdf | 0x1818 | |||||||||||
0x0FE8 | uint64_t TotalSwitchOutTime | uint64_t TotalSwitchOutTime | void * ReservedForWdf | 0x1818 | ||||||||||||||||
0x0FE8 | uint64_t TotalSwitchOutTime | uint64_t ReservedForCrt | uint64_t ReservedForCrt | uint64_t ReservedForCrt | uint64_t ReservedForCrt | uint64_t ReservedForCrt | 0x1820 | |||||||||||||
0x0FF0 | union _LARGE_INTEGER WaitReasonBitMap | union _LARGE_INTEGER WaitReasonBitMap | 0x1820 | |||||||||||||||||
0x0FF0 | struct _GUID EffectiveContainerId | 0x1828 |