Недокументированные функции NTDLL
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 доступна в заголовочном файле .
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