Condividi tramite


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)

Vedi anche

Strutture di debug

Wow64GetThreadSelectorEntry