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) |