TEB 구조체(winternl.h)
[이 구조는 이후 버전의 Windows에서 변경될 수 있습니다. 애플리케이션은 이 항목에 나열된 대체 함수를 사용해야 합니다.]
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에서는 64비트 TEB 내 32비트 TEB 주소의 오프셋이 0입니다. WOW64 스레드의 32비트 TEB에 직접 액세스하는 데 사용할 수 있습니다. 이는 이후 버전의 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 |