WOW64_LDT_ENTRY 構造体 (winnt.h)
64 ビット システム上の 32 ビット スレッドの記述子テーブル内のエントリについて説明します。 この構造体は、64 ビット システムでのみ有効です。
構文
typedef struct _WOW64_LDT_ENTRY {
WORD LimitLow;
WORD BaseLow;
union {
struct {
BYTE BaseMid;
BYTE Flags1;
BYTE Flags2;
BYTE BaseHi;
} Bytes;
struct {
DWORD BaseMid : 8;
DWORD Type : 5;
DWORD Dpl : 2;
DWORD Pres : 1;
DWORD LimitHi : 4;
DWORD Sys : 1;
DWORD Reserved_0 : 1;
DWORD Default_Big : 1;
DWORD Granularity : 1;
DWORD BaseHi : 8;
} Bits;
} HighWord;
} WOW64_LDT_ENTRY, *PWOW64_LDT_ENTRY;
メンバー
LimitLow
セグメント内の最後のバイトのアドレスの下位部分。
BaseLow
セグメントのベース アドレスの下位部分。
HighWord
記述子の高次部分。 このメンバーは、必要な詳細レベルに応じて、バイトまたはビットのコレクションとして解釈される場合があります。
HighWord.Bytes
HighWord.Bytes.BaseMid
セグメントのベース アドレスの中間ビット (16 ~ 23)。
HighWord.Bytes.Flags1
Bits 構造体の Type、Dpl、Pres メンバーの値。
HighWord.Bytes.Flags2
Bits 構造体の LimitHi、Sys、Reserved_0、Default_Big、および粒度の各メンバーの値。
HighWord.Bytes.BaseHi
セグメントのベース アドレスの上位ビット (24 ~ 31)。
HighWord.Bits
HighWord.Bits.BaseMid
セグメントのベース アドレスの中間ビット (16 ~ 23)。
HighWord.Bits.Type
セグメントの種類。 このメンバーには、次のいずれかの値を指定できます。
HighWord.Bits.Dpl
記述子の特権レベル。 このメンバーは、0 (最も特権が高い) ~ 3 (最小特権) の範囲の整数値です。
HighWord.Bits.Pres
現在のフラグ。 このメンバーは、セグメントが物理メモリに存在する場合は 1、存在しない場合は 0 です。
HighWord.Bits.LimitHi
セグメント内の最後のバイトのアドレスの上位ビット (16 ~ 19)。
HighWord.Bits.Sys
システム・プログラマーが使用できるスペース。 このメンバーは、システム固有の方法でセグメントをマークするために使用できます。
HighWord.Bits.Reserved_0
予約済み。
HighWord.Bits.Default_Big
セグメントのサイズ。 セグメントがデータ セグメントの場合、セグメントが 64 キロバイト (KB) を超える場合は 1、セグメントが 64 KB 以下の場合は 0 が含まれます。
セグメントがコード セグメントの場合、このメンバーには 1 が含まれます。 セグメントは、既定の (ネイティブ モード) 命令セットで実行されます。
HighWord.Bits.Granularity
粒度。 このメンバーには、セグメントがバイト粒度の場合は 0、セグメントがページ粒度の場合は 1 が含まれます。
HighWord.Bits.BaseHi
セグメントのベース アドレスの上位ビット (24 ~ 31)。
注釈
Wow64GetThreadSelectorEntry 関数は、記述子テーブル内のエントリからの情報をこの構造体に格納します。 この情報を使用して、セグメント相対アドレスを線形仮想アドレスに変換できます。
セグメントのベース アドレスは、セグメント内のオフセット 0 のアドレスです。 この値を計算するには、 BaseLow、 BaseMid、 BaseHi の各メンバーを組み合わせます。
セグメントの制限は、セグメント内でアドレス指定できる最後のバイトのアドレスです。 この値を計算するには、 LimitLow メンバーと LimitHi メンバーを組み合わせます。
WOW64_LDT_ENTRY構造体は、32 ビット プロセスの LDT_ENTRY 構造体と同じ 64 ビット プロセスのレイアウトを持ちます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
Header | winnt.h (Windows.h を含む) |