共用方式為


LDT_ENTRY 結構 (winnt.h)

描述描述項數據表中的專案。 這個結構只有在 x86 型系統上才有效。

語法

typedef struct _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;
} LDT_ENTRY, *PLDT_ENTRY;

成員

LimitLow

區段中最後一個字節位址的低序部分。

BaseLow

區段基位址的低序部分。

HighWord

描述項的高序部分。 根據所需的詳細數據層級,此成員可能會解譯為位元組或位集合。

HighWord.Bytes

HighWord.Bytes.BaseMid

區段基地址的中間位 (16–23) 。

HighWord.Bytes.Flags1

Bits 結構中 Type、DplPres 成員的值。

HighWord.Bytes.Flags2

Bits 結構中 LimitHiSysReserved_0Default_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 (K) ,則此成員會包含 1;如果區段小於或等於 64K,則此成員會包含 0。

如果區段是代碼段,則此成員如果區段是代碼段,並使用預設的 (原生模式) 指令集執行,則此成員會包含 1。 如果代碼段是 80286 代碼段,且會以 16 位位移和 80286 相容的指令集執行,則此成員包含 0。

HighWord.Bits.Granularity

數據粒度。 如果區段是位元組細微,則此成員包含0,如果區段是頁面細微,則為1。

HighWord.Bits.BaseHi

區段基位址的高位 (24–31) 。

備註

GetThreadSelectorEntry 函式會將描述元數據表中專案的資訊填入此結構。 您可以使用這項資訊,將區段相對位址轉換成線性虛擬位址。

區段的基位址是區段中位移 0 的位址。 若要計算此值,請結合 BaseLowBaseMidBaseHi 成員。

區段的限制是可在區段中尋址的最後一個字節位址。 若要計算此值,請結合 LimitLowLimitHi 成員。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 winnt.h (包括 Windows.h)

另請參閱

偵錯結構

GetThreadSelectorEntry