WOW64_LDT_ENTRY struttura (winnt.h)
Descrive una voce nella tabella descrittore per un thread a 32 bit in un sistema a 64 bit. Questa struttura è valida solo nei sistemi a 64 bit.
Sintassi
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;
Members
LimitLow
Parte a basso ordine dell'indirizzo dell'ultimo byte nel segmento.
BaseLow
Parte a basso ordine dell'indirizzo di base del segmento.
HighWord
Parte di 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 Bits .
HighWord.Bytes.BaseHi
Bit elevati (24-31) dell'indirizzo di base del segmento.
HighWord.Bits
HighWord.Bits.BaseMid
I 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 nell'intervallo 0 (con privilegi più elevati) fino a 3 (con privilegi minimi).
HighWord.Bits.Pres
Flag presente. Questo membro è 1 se il segmento è presente in memoria fisica o 0 se non è.
HighWord.Bits.LimitHi
I bit elevati (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
Dimensione del segmento. Se il segmento è un segmento di dati, questo membro contiene 1 se il segmento è maggiore di 64 kilobyte (KB) o 0 se il segmento è minore o uguale a 64 KB.
Se il segmento è un segmento di codice, questo membro contiene 1. Il segmento viene eseguito con il set di istruzioni predefinito (modalità nativa).
HighWord.Bits.Granularity
Granularità. Questo membro contiene 0 se il segmento è granulare per byte, 1 se il segmento è granulare.
HighWord.Bits.BaseHi
Bit elevati (24-31) dell'indirizzo di base del segmento.
Commenti
La funzione Wow64GetThreadSelectorEntry riempie questa struttura con informazioni da una voce nella tabella descrittore. È possibile usare queste informazioni per convertire un indirizzo relativo 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 risolto nel segmento. Per calcolare questo valore, combinare i membri LimitLow e LimitHi .
La struttura WOW64_LDT_ENTRY ha lo stesso layout per un processo a 64 bit della struttura LDT_ENTRY per un processo a 32 bit.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Intestazione | winnt.h (includere Windows.h) |