Condividi tramite


struttura LDT_ENTRY (winnt.h)

Descrive una voce nella tabella del descrittore. Questa struttura è valida solo nei sistemi basati su x86.

Sintassi

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;

Members

LimitLow

Parte in ordine basso dell'indirizzo dell'ultimo byte nel segmento.

BaseLow

Parte in ordine basso dell'indirizzo di base del segmento.

HighWord

Parte in ordine elevato del descrittore. Questo membro può essere interpretato come byte o raccolte di bit, a seconda del livello di dettaglio richiesto.

HighWord.Bytes

HighWord.Bytes.BaseMid

Bit intermedi (16-23) dell'indirizzo di base del segmento.

HighWord.Bytes.Flags1

Valori dei membri Type, Dpl e Pres nella struttura Bits .

HighWord.Bytes.Flags2

Valori dei membri LimitHi, Sys, Reserved_0, Default_Big e Granularità nella struttura Bit.

HighWord.Bytes.BaseHi

Bit alti (24-31) dell'indirizzo di base del segmento.

HighWord.Bits

HighWord.Bits.BaseMid

Bit intermedi (16-23) dell'indirizzo di base del segmento.

HighWord.Bits.Type

Tipo di segmento. Questo membro può essere uno dei valori seguenti:

HighWord.Bits.Dpl

Livello di privilegio del descrittore. Questo membro è un valore intero compreso nell'intervallo compreso tra 0 (con privilegi più elevati) e 3 (con privilegi minimi).

HighWord.Bits.Pres

Flag presente. Questo membro è 1 se il segmento è presente nella memoria fisica o 0 in caso contrario.

HighWord.Bits.LimitHi

Bit alti (16-19) dell'indirizzo dell'ultimo byte nel segmento.

HighWord.Bits.Sys

Spazio disponibile per i programmatori di sistema. Questo membro può essere usato per contrassegnare i segmenti in un modo specifico del sistema.

HighWord.Bits.Reserved_0

Riservato.

HighWord.Bits.Default_Big

Dimensioni del segmento. Se il segmento è un segmento di dati, questo membro contiene 1 se il segmento è maggiore di 64 kilobyte (K) o 0 se il segmento è minore o uguale a 64 KB.

Se il segmento è un segmento di codice, questo membro contiene 1 se il segmento è un segmento di codice e viene eseguito con il set di istruzioni predefinito (modalità nativa). Questo membro contiene 0 se il segmento di codice è un segmento di codice 80286 ed eseguito con offset a 16 bit e il set di istruzioni compatibile con 80286.

HighWord.Bits.Granularity

Granularità. Questo membro contiene 0 se il segmento è granulare per byte, 1 se il segmento è granulare per la pagina.

HighWord.Bits.BaseHi

Bit alti (24-31) dell'indirizzo di base del segmento.

Commenti

La funzione GetThreadSelectorEntry riempie questa struttura con le informazioni di una voce nella tabella del descrittore. È possibile usare queste informazioni per convertire un indirizzo relativo al segmento in un indirizzo virtuale lineare.

L'indirizzo di base di un segmento è l'indirizzo dell'offset 0 nel segmento. Per calcolare questo valore, combinare i membri BaseLow, BaseMid e BaseHi .

Il limite di un segmento è l'indirizzo dell'ultimo byte che può essere indirizzato nel segmento. Per calcolare questo valore, combinare i membri LimitLow e LimitHi .

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winnt.h (include Windows.h)

Vedi anche

Strutture di debug

GetThreadSelectorEntry