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를 참조하세요.

이 구조체에 직접 액세스해서는 안 됩니다. TlsSlotsTlsExpansionSlots 필드의 값에 액세스하려면 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

추가 정보

TlsGetValue