Недокументированные функции 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