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 (デスクトップ アプリのみ) |
Header | winternl.h |