typedef struct _TEB                                                             // 118 / 128 elements; 0x1000 / 0x1838 Bytes
{
    NT_TIB                      NtTib;                                          // 0x0000 / 0x0000; 0x001C / 0x0038 Bytes
    PVOID                       EnvironmentPointer;                             // 0x001C / 0x0038; 0x0004 / 0x0008 Bytes
    CLIENT_ID                   ClientId;                                       // 0x0020 / 0x0040; 0x0008 / 0x0010 Bytes
    PVOID                       ActiveRpcHandle;                                // 0x0028 / 0x0050; 0x0004 / 0x0008 Bytes
    PVOID                       ThreadLocalStoragePointer;                      // 0x002C / 0x0058; 0x0004 / 0x0008 Bytes
    PPEB                        ProcessEnvironmentBlock;                        // 0x0030 / 0x0060; 0x0004 / 0x0008 Bytes
    ULONG32                     LastErrorValue;                                 // 0x0034 / 0x0068; 0x0004 / 0x0004 Bytes
    ULONG32                     CountOfOwnedCriticalSections;                   // 0x0038 / 0x006C; 0x0004 / 0x0004 Bytes
    PVOID                       CsrClientThread;                                // 0x003C / 0x0070; 0x0004 / 0x0008 Bytes
    PVOID                       Win32ThreadInfo;                                // 0x0040 / 0x0078; 0x0004 / 0x0008 Bytes
    ULONG32                     User32Reserved[26];                             // 0x0044 / 0x0080; 0x0068 / 0x0068 Bytes
    ULONG32                     UserReserved[5];                                // 0x00AC / 0x00E8; 0x0014 / 0x0014 Bytes
#if defined(_M_X64)
    UINT8                       _PADDING0_[4];                                  // ------ / 0x00FC; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    PVOID                       WOW32Reserved;                                  // 0x00C0 / 0x0100; 0x0004 / 0x0008 Bytes
    ULONG32                     CurrentLocale;                                  // 0x00C4 / 0x0108; 0x0004 / 0x0004 Bytes
    ULONG32                     FpSoftwareStatusRegister;                       // 0x00C8 / 0x010C; 0x0004 / 0x0004 Bytes
    PVOID                       ReservedForDebuggerInstrumentation[16];         // 0x00CC / 0x0110; 0x0040 / 0x0080 Bytes
#if defined(_M_X64)
    PVOID                       SystemReserved1[30];                            // ------ / 0x0190; ------ / 0x00F0 Bytes
#else                                                                           // #if defined(_M_X64)
    PVOID                       SystemReserved1[26];                            // 0x010C / ------; 0x0068 / ------ Bytes
#endif                                                                          // #if defined(_M_X64)
    CHAR                        PlaceholderCompatibilityMode;                   // 0x0174 / 0x0280; 0x0001 / 0x0001 Bytes
    UINT8                       PlaceholderHydrationAlwaysExplicit;             // 0x0175 / 0x0281; 0x0001 / 0x0001 Bytes
    CHAR                        PlaceholderReserved[10];                        // 0x0176 / 0x0282; 0x000A / 0x000A Bytes
    ULONG32                     ProxiedProcessId;                               // 0x0180 / 0x028C; 0x0004 / 0x0004 Bytes
    ACTIVATION_CONTEXT_STACK    _ActivationStack;                               // 0x0184 / 0x0290; 0x0018 / 0x0028 Bytes
    UINT8                       WorkingOnBehalfTicket[8];                       // 0x019C / 0x02B8; 0x0008 / 0x0008 Bytes
    LONG32                      ExceptionCode;                                  // 0x01A4 / 0x02C0; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       Padding0[4];                                    // ------ / 0x02C4; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    PACTIVATION_CONTEXT_STACK   ActivationContextStackPointer;                  // 0x01A8 / 0x02C8; 0x0004 / 0x0008 Bytes
    UINT_PTR                    InstrumentationCallbackSp;                      // 0x01AC / 0x02D0; 0x0004 / 0x0008 Bytes
    UINT_PTR                    InstrumentationCallbackPreviousPc;              // 0x01B0 / 0x02D8; 0x0004 / 0x0008 Bytes
    UINT_PTR                    InstrumentationCallbackPreviousSp;              // 0x01B4 / 0x02E0; 0x0004 / 0x0008 Bytes
#if !defined(_M_X64)
    UINT8                       InstrumentationCallbackDisabled;                // 0x01B8 / ------; 0x0001 / ------ Bytes
    UINT8                       SpareBytes[23];                                 // 0x01B9 / ------; 0x0017 / ------ Bytes
#endif                                                                          // #if !defined(_M_X64)
    ULONG32                     TxFsContext;                                    // 0x01D0 / 0x02E8; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       InstrumentationCallbackDisabled;                // ------ / 0x02EC; ------ / 0x0001 Bytes
    UINT8                       UnalignedLoadStoreExceptions;                   // ------ / 0x02ED; ------ / 0x0001 Bytes
    UINT8                       Padding1[2];                                    // ------ / 0x02EE; ------ / 0x0002 Bytes
#endif                                                                          // #if defined(_M_X64)
    GDI_TEB_BATCH               GdiTebBatch;                                    // 0x01D4 / 0x02F0; 0x04E0 / 0x04E8 Bytes
    CLIENT_ID                   RealClientId;                                   // 0x06B4 / 0x07D8; 0x0008 / 0x0010 Bytes
    PVOID                       GdiCachedProcessHandle;                         // 0x06BC / 0x07E8; 0x0004 / 0x0008 Bytes
    ULONG32                     GdiClientPID;                                   // 0x06C0 / 0x07F0; 0x0004 / 0x0004 Bytes
    ULONG32                     GdiClientTID;                                   // 0x06C4 / 0x07F4; 0x0004 / 0x0004 Bytes
    PVOID                       GdiThreadLocalInfo;                             // 0x06C8 / 0x07F8; 0x0004 / 0x0008 Bytes
    UINT_PTR                    Win32ClientInfo[62];                            // 0x06CC / 0x0800; 0x00F8 / 0x01F0 Bytes
    PVOID                       glDispatchTable[233];                           // 0x07C4 / 0x09F0; 0x03A4 / 0x0748 Bytes
    UINT_PTR                    glReserved1[29];                                // 0x0B68 / 0x1138; 0x0074 / 0x00E8 Bytes
    PVOID                       glReserved2;                                    // 0x0BDC / 0x1220; 0x0004 / 0x0008 Bytes
    PVOID                       glSectionInfo;                                  // 0x0BE0 / 0x1228; 0x0004 / 0x0008 Bytes
    PVOID                       glSection;                                      // 0x0BE4 / 0x1230; 0x0004 / 0x0008 Bytes
    PVOID                       glTable;                                        // 0x0BE8 / 0x1238; 0x0004 / 0x0008 Bytes
    PVOID                       glCurrentRC;                                    // 0x0BEC / 0x1240; 0x0004 / 0x0008 Bytes
    PVOID                       glContext;                                      // 0x0BF0 / 0x1248; 0x0004 / 0x0008 Bytes
    ULONG32                     LastStatusValue;                                // 0x0BF4 / 0x1250; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       Padding2[4];                                    // ------ / 0x1254; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    UNICODE_STRING              StaticUnicodeString;                            // 0x0BF8 / 0x1258; 0x0008 / 0x0010 Bytes
    WCHAR                       StaticUnicodeBuffer[261];                       // 0x0C00 / 0x1268; 0x020A / 0x020A Bytes
#if defined(_M_X64)
    UINT8                       Padding3[6];                                    // ------ / 0x1472; ------ / 0x0006 Bytes
#else                                                                           // #if defined(_M_X64)
    UINT8                       _PADDING0_[2];                                  // 0x0E0A / ------; 0x0002 / ------ Bytes
#endif                                                                          // #if defined(_M_X64)
    PVOID                       DeallocationStack;                              // 0x0E0C / 0x1478; 0x0004 / 0x0008 Bytes
    PVOID                       TlsSlots[64];                                   // 0x0E10 / 0x1480; 0x0100 / 0x0200 Bytes
    LIST_ENTRY                  TlsLinks;                                       // 0x0F10 / 0x1680; 0x0008 / 0x0010 Bytes
    PVOID                       Vdm;                                            // 0x0F18 / 0x1690; 0x0004 / 0x0008 Bytes
    PVOID                       ReservedForNtRpc;                               // 0x0F1C / 0x1698; 0x0004 / 0x0008 Bytes
    PVOID                       DbgSsReserved[2];                               // 0x0F20 / 0x16A0; 0x0008 / 0x0010 Bytes
    ULONG32                     HardErrorMode;                                  // 0x0F28 / 0x16B0; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       Padding4[4];                                    // ------ / 0x16B4; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
#if defined(_M_X64)
    PVOID                       Instrumentation[11];                            // ------ / 0x16B8; ------ / 0x0058 Bytes
#else                                                                           // #if defined(_M_X64)
    PVOID                       Instrumentation[9];                             // 0x0F2C / ------; 0x0024 / ------ Bytes
#endif                                                                          // #if defined(_M_X64)
    GUID                        ActivityId;                                     // 0x0F50 / 0x1710; 0x0010 / 0x0010 Bytes
    PVOID                       SubProcessTag;                                  // 0x0F60 / 0x1720; 0x0004 / 0x0008 Bytes
    PVOID                       PerflibData;                                    // 0x0F64 / 0x1728; 0x0004 / 0x0008 Bytes
    PVOID                       EtwTraceData;                                   // 0x0F68 / 0x1730; 0x0004 / 0x0008 Bytes
    PVOID                       WinSockData;                                    // 0x0F6C / 0x1738; 0x0004 / 0x0008 Bytes
    ULONG32                     GdiBatchCount;                                  // 0x0F70 / 0x1740; 0x0004 / 0x0004 Bytes
    union                                                                       // 3 / 3 elements; 0x0004 / 0x0004 Bytes
    {
        PROCESSOR_NUMBER        CurrentIdealProcessor;                          // 0x0F74 / 0x1744; 0x0004 / 0x0004 Bytes
        ULONG32                 IdealProcessorValue;                            // 0x0F74 / 0x1744; 0x0004 / 0x0004 Bytes
        struct                                                                  // 4 / 4 elements; 0x0004 / 0x0004 Bytes
        {
            UINT8               ReservedPad0;                                   // 0x0F74 / 0x1744; 0x0001 / 0x0001 Bytes
            UINT8               ReservedPad1;                                   // 0x0F75 / 0x1745; 0x0001 / 0x0001 Bytes
            UINT8               ReservedPad2;                                   // 0x0F76 / 0x1746; 0x0001 / 0x0001 Bytes
            UINT8               IdealProcessor;                                 // 0x0F77 / 0x1747; 0x0001 / 0x0001 Bytes
        };
    };
    ULONG32                     GuaranteedStackBytes;                           // 0x0F78 / 0x1748; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       Padding5[4];                                    // ------ / 0x174C; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    PVOID                       ReservedForPerf;                                // 0x0F7C / 0x1750; 0x0004 / 0x0008 Bytes
    PVOID                       ReservedForOle;                                 // 0x0F80 / 0x1758; 0x0004 / 0x0008 Bytes
    ULONG32                     WaitingOnLoaderLock;                            // 0x0F84 / 0x1760; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       Padding6[4];                                    // ------ / 0x1764; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    PVOID                       SavedPriorityState;                             // 0x0F88 / 0x1768; 0x0004 / 0x0008 Bytes
    UINT_PTR                    ReservedForCodeCoverage;                        // 0x0F8C / 0x1770; 0x0004 / 0x0008 Bytes
    PVOID                       ThreadPoolData;                                 // 0x0F90 / 0x1778; 0x0004 / 0x0008 Bytes
    PVOID *                     TlsExpansionSlots;                              // 0x0F94 / 0x1780; 0x0004 / 0x0008 Bytes
#if defined(_M_X64)
    PVOID                       DeallocationBStore;                             // ------ / 0x1788; ------ / 0x0008 Bytes
    PVOID                       BStoreLimit;                                    // ------ / 0x1790; ------ / 0x0008 Bytes
#endif                                                                          // #if defined(_M_X64)
    ULONG32                     MuiGeneration;                                  // 0x0F98 / 0x1798; 0x0004 / 0x0004 Bytes
    ULONG32                     IsImpersonating;                                // 0x0F9C / 0x179C; 0x0004 / 0x0004 Bytes
    PVOID                       NlsCache;                                       // 0x0FA0 / 0x17A0; 0x0004 / 0x0008 Bytes
    PVOID                       pShimData;                                      // 0x0FA4 / 0x17A8; 0x0004 / 0x0008 Bytes
    ULONG32                     HeapData;                                       // 0x0FA8 / 0x17B0; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       Padding7[4];                                    // ------ / 0x17B4; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    PVOID                       CurrentTransactionHandle;                       // 0x0FAC / 0x17B8; 0x0004 / 0x0008 Bytes
    PTEB_ACTIVE_FRAME           ActiveFrame;                                    // 0x0FB0 / 0x17C0; 0x0004 / 0x0008 Bytes
    PVOID                       FlsData;                                        // 0x0FB4 / 0x17C8; 0x0004 / 0x0008 Bytes
    PVOID                       PreferredLanguages;                             // 0x0FB8 / 0x17D0; 0x0004 / 0x0008 Bytes
    PVOID                       UserPrefLanguages;                              // 0x0FBC / 0x17D8; 0x0004 / 0x0008 Bytes
    PVOID                       MergedPrefLanguages;                            // 0x0FC0 / 0x17E0; 0x0004 / 0x0008 Bytes
    ULONG32                     MuiImpersonation;                               // 0x0FC4 / 0x17E8; 0x0004 / 0x0004 Bytes
    union                                                                       // 2 / 2 elements; 0x0002 / 0x0002 Bytes
    {
        UINT16                  CrossTebFlags;                                  // 0x0FC8 / 0x17EC; 0x0002 / 0x0002 Bytes
        UINT16                  SpareCrossTebBits                          :16; // 0x0FC8 / 0x17EC; Bits:  0 - 15
    };
    union                                                                       // 2 / 2 elements; 0x0002 / 0x0002 Bytes
    {
        UINT16                  SameTebFlags;                                   // 0x0FCA / 0x17EE; 0x0002 / 0x0002 Bytes
        struct                                                                  // 16 / 16 elements; 0x0002 / 0x0002 Bytes
        {
            UINT16              SafeThunkCall                              : 1; // 0x0FCA / 0x17EE; Bit:   0
            UINT16              InDebugPrint                               : 1; // 0x0FCA / 0x17EE; Bit:   1
            UINT16              HasFiberData                               : 1; // 0x0FCA / 0x17EE; Bit:   2
            UINT16              SkipThreadAttach                           : 1; // 0x0FCA / 0x17EE; Bit:   3
            UINT16              WerInShipAssertCode                        : 1; // 0x0FCA / 0x17EE; Bit:   4
            UINT16              RanProcessInit                             : 1; // 0x0FCA / 0x17EE; Bit:   5
            UINT16              ClonedThread                               : 1; // 0x0FCA / 0x17EE; Bit:   6
            UINT16              SuppressDebugMsg                           : 1; // 0x0FCA / 0x17EE; Bit:   7
            UINT16              DisableUserStackWalk                       : 1; // 0x0FCA / 0x17EE; Bit:   8
            UINT16              RtlExceptionAttached                       : 1; // 0x0FCA / 0x17EE; Bit:   9
            UINT16              InitialThread                              : 1; // 0x0FCA / 0x17EE; Bit:  10
            UINT16              SessionAware                               : 1; // 0x0FCA / 0x17EE; Bit:  11
            UINT16              LoadOwner                                  : 1; // 0x0FCA / 0x17EE; Bit:  12
            UINT16              LoaderWorker                               : 1; // 0x0FCA / 0x17EE; Bit:  13
            UINT16              SkipLoaderInit                             : 1; // 0x0FCA / 0x17EE; Bit:  14
            UINT16              SpareSameTebBits                           : 1; // 0x0FCA / 0x17EE; Bit:  15
        };
    };
    PVOID                       TxnScopeEnterCallback;                          // 0x0FCC / 0x17F0; 0x0004 / 0x0008 Bytes
    PVOID                       TxnScopeExitCallback;                           // 0x0FD0 / 0x17F8; 0x0004 / 0x0008 Bytes
    PVOID                       TxnScopeContext;                                // 0x0FD4 / 0x1800; 0x0004 / 0x0008 Bytes
    ULONG32                     LockCount;                                      // 0x0FD8 / 0x1808; 0x0004 / 0x0004 Bytes
    LONG32                      WowTebOffset;                                   // 0x0FDC / 0x180C; 0x0004 / 0x0004 Bytes
    PVOID                       ResourceRetValue;                               // 0x0FE0 / 0x1810; 0x0004 / 0x0008 Bytes
    PVOID                       ReservedForWdf;                                 // 0x0FE4 / 0x1818; 0x0004 / 0x0008 Bytes
    UINT64                      ReservedForCrt;                                 // 0x0FE8 / 0x1820; 0x0008 / 0x0008 Bytes
    GUID                        EffectiveContainerId;                           // 0x0FF0 / 0x1828; 0x0010 / 0x0010 Bytes
} TEB, * PTEB;

Return to OS-specific structures/unions/enums list.
Return to OS version list.