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 (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 [僅限傳統型應用程式] |
標頭 | winnt.h (包括 Windows.h) |