2 марта 2001
TEB
typedef struct _TEB {
NT_TIB Tib;
PVOID EnvironmentPointer;
CLIENT_ID Cid;
PVOID ActiveRpcInfo;
PVOID ThreadLocalStoragePointer;
PPEB Peb;
ULONG LastErrorValue;
ULONG CountOfOwnedCriticalSections;
PVOID CsrClientThread;
PVOID Win32ThreadInfo;
ULONG Win32ClientInfo[0x1F];
PVOID WOW32Reserved;
ULONG CurrentLocale;
ULONG FpSoftwareStatusRegister;
PVOID SystemReserved1[0x36];
PVOID Spare1;
ULONG ExceptionCode;
ULONG SpareBytes1[0x28];
PVOID SystemReserved2[0xA];
ULONG GdiRgn;
ULONG GdiPen;
ULONG GdiBrush;
CLIENT_ID RealClientId;
PVOID GdiCachedProcessHandle;
ULONG GdiClientPID;
ULONG GdiClientTID;
PVOID GdiThreadLocaleInfo;
PVOID UserReserved[5];
PVOID GlDispatchTable[0x118];
ULONG GlReserved1[0x1A];
PVOID GlReserved2;
PVOID GlSectionInfo;
PVOID GlSection;
PVOID GlTable;
PVOID GlCurrentRC;
PVOID GlContext;
NTSTATUS LastStatusValue;
UNICODE_STRING StaticUnicodeString;
WCHAR StaticUnicodeBuffer[0x105];
PVOID DeallocationStack;
PVOID TlsSlots[0x40];
LIST_ENTRY TlsLinks;
PVOID Vdm;
PVOID ReservedForNtRpc;
PVOID DbgSsReserved[0x2];
ULONG HardErrorDisabled;
PVOID Instrumentation[0x10];
PVOID WinSockData;
ULONG GdiBatchCount;
ULONG Spare2;
ULONG Spare3;
ULONG Spare4;
PVOID ReservedForOle;
ULONG WaitingOnLoaderLock;
PVOID StackCommit;
PVOID StackCommitMax;
PVOID StackReserved;
} TEB, *PTEB;
Структура TEB (Thread Environment Block; блок окружения потока) это блок памяти, содержащий системные переменные, помещённые в память пользовательского режима. Каждый созданный поток имеет свой собственный блок TEB. Пользователь может получить адрес TEB путём вызова функции NtCurrentTeb.
Tib
Структура NT_TIB доступна в заголовочном файле <WinNT.h>.
EnvironmentPointer
Cid
ActiveRpcInfo
ThreadLocalStoragePointer
Peb
Указатель на структуру PEB, содержащую блок окружения процесса.
LastErrorValue
CountOfOwnedCriticalSections
CsrClientThread
Win32ThreadInfo
Win32ClientInfo[0x1F]
WOW32Reserved
CurrentLocale
FpSoftwareStatusRegister
SystemReserved1[0x36]
Spare1
ExceptionCode
SpareBytes1[0x28]
SystemReserved2[0xA]
GdiRgn
GdiPen
GdiBrush
RealClientId
GdiCachedProcessHandle
GdiClientPID
GdiClientTID
GdiThreadLocaleInfo
UserReserved[5]
GlDispatchTable[0x118]
GlReserved1[0x1A]
GlReserved2
GlSectionInfo
GlSection
GlTable
GlCurrentRC
GlContext
LastStatusValue
StaticUnicodeString
StaticUnicodeBuffer[0x105]
DeallocationStack
TlsSlots[0x40]
TlsLinks
Vdm
ReservedForNtRpc
DbgSsReserved[0x2]
HardErrorDisabled
Instrumentation[0x10]
WinSockData
GdiBatchCount
Spare2
Spare3
Spare4
ReservedForOle
WaitingOnLoaderLock
StackCommit
StackCommitMax
StackReserved
Документировал:
Reactos
Томаш Новак
Зависимости:
Библиотека: ntdll.lib
См. также:
NtCurrentTeb
PEB
THREAD_BASIC_INFORMATION