Структура TEB (winternl.h)
[Эта структура может быть изменена в будущих версиях Windows. Приложения должны использовать альтернативные функции, перечисленные в этом разделе.]
Структура thread Environment Block (TEB) описывает состояние потока.
Синтаксис
typedef struct _TEB {
PVOID Reserved1[12];
PPEB ProcessEnvironmentBlock;
PVOID Reserved2[399];
BYTE Reserved3[1952];
PVOID TlsSlots[64];
BYTE Reserved4[8];
PVOID Reserved5[26];
PVOID ReservedForOle;
PVOID Reserved6[4];
PVOID TlsExpansionSlots;
} TEB, *PTEB;
Члены
Reserved1[12]
Зарезервировано для внутреннего использования операционной системой.
ProcessEnvironmentBlock
Указатель на структуру PEB , содержащую сведения о процессе в целом.
Reserved2[399]
Зарезервировано для внутреннего использования операционной системой.
Reserved3[1952]
Зарезервировано для внутреннего использования операционной системой.
TlsSlots[64]
Данные для локального хранилища потока. Вызовите функцию TlsGetValue , чтобы получить к ней доступ.
Reserved4[8]
Зарезервировано для внутреннего использования операционной системой.
Reserved5[26]
Зарезервировано для внутреннего использования операционной системой.
ReservedForOle
Не используйте. Вместо этого вызовите CoGetContextToken .
Reserved6[4]
Зарезервировано для внутреннего использования операционной системой.
TlsExpansionSlots
Дополнительные данные для локального хранилища потока. Вызовите функцию TlsGetValue , чтобы получить к ней доступ.
Комментарии
Определение этой структуры может меняться с одной версии Windows на другую. Не предполагайте максимальный размер для этой структуры. Сведения о членах этой структуры см. в статье winternal.h.
Не следует напрямую обращаться к этой структуре. Чтобы получить доступ к значениям полей TlsSlots и TlsExpansionSlots , вызовите TlsGetValue. Чтобы получить доступ к значению поля ReservedForOle , вызовите CoGetContextToken.
В следующих версиях Windows смещение 32-разрядного адреса TEB в 64-разрядном TEB равно 0. Его можно использовать для прямого доступа к 32-разрядному TEB потока WOW64. Это может измениться в более поздних версиях Windows.
Windows Vista | Windows Server 2008 |
Windows 7 | Windows Server 2008 R2 |
Windows 8 | Windows Server 2012 |
Windows 8.1 | Windows Server 2012 R2 |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winternl.h |