次の方法で共有


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

こちらもご覧ください

TlsGetValue