Share via


WOW64_LDT_ENTRY-Struktur (winnt.h)

Beschreibt einen Eintrag in der Deskriptortabelle für einen 32-Bit-Thread auf einem 64-Bit-System. Diese Struktur ist nur auf 64-Bit-Systemen gültig.

Syntax

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;

Member

LimitLow

Der teil der niedrigen Reihenfolge der Adresse des letzten Byte im Segment.

BaseLow

Der Teil der Basisadresse des Segments mit niedriger Reihenfolge.

HighWord

Der hochgeordnete Teil des Deskriptors. Dieser Member kann je nach erforderlicher Detailebene als Bytes oder Bitsammlungen interpretiert werden.

HighWord.Bytes

HighWord.Bytes.BaseMid

Mittlere Bits (16–23) der Basisadresse des Segments.

HighWord.Bytes.Flags1

Werte der Member Type, Dpl und Pres in der Bits-Struktur .

HighWord.Bytes.Flags2

Werte der Elemente LimitHi, Sys, Reserved_0, Default_Big und Granularität in der Bits-Struktur .

HighWord.Bytes.BaseHi

Hohe Bits (24–31) der Basisadresse des Segments.

HighWord.Bits

HighWord.Bits.BaseMid

Die mittleren Bits (16–23) der Basisadresse des Segments.

HighWord.Bits.Type

Der Typ des Segments. Dieser Member kann einer der folgenden Werte sein:

HighWord.Bits.Dpl

Die Berechtigungsstufe des Deskriptors. Dieser Member ist ein ganzzahliger Wert im Bereich von 0 (am meisten privilegierte) bis 3 (am wenigsten privilegierte).

HighWord.Bits.Pres

Das vorhandene Flag. Dieser Member ist 1, wenn das Segment im physischen Speicher vorhanden ist, oder 0, wenn dies nicht der Fall ist.

HighWord.Bits.LimitHi

Die hohen Bits (16–19) der Adresse des letzten Byte im Segment.

HighWord.Bits.Sys

Der Für Systemprogrammierer verfügbare Speicherplatz. Dieser Member kann zum Markieren von Segmenten auf eine systemspezifische Weise verwendet werden.

HighWord.Bits.Reserved_0

Reserviert.

HighWord.Bits.Default_Big

Die Größe des Segments. Wenn das Segment ein Datensegment ist, enthält dieses Element 1, wenn das Segment größer als 64 KB ist, oder 0, wenn das Segment kleiner oder gleich 64 KB ist.

Wenn das Segment ein Codesegment ist, enthält dieses Element 1. Das Segment wird mit dem Standardanweisungssatz (einheitlicher Modus) ausgeführt.

HighWord.Bits.Granularity

Die Granularität. Dieses Element enthält 0, wenn das Segment bytegranular ist, 1, wenn das Segment seitengranular ist.

HighWord.Bits.BaseHi

Die hohen Bits (24–31) der Basisadresse des Segments.

Hinweise

Die Wow64GetThreadSelectorEntry-Funktion füllt diese Struktur mit Informationen aus einem Eintrag in der Deskriptortabelle. Sie können diese Informationen verwenden, um eine segmentrelative Adresse in eine lineare virtuelle Adresse zu konvertieren.

Die Basisadresse eines Segments ist die Adresse des Offsets 0 im Segment. Um diesen Wert zu berechnen, kombinieren Sie die Elemente BaseLow, BaseMid und BaseHi .

Die Grenze eines Segments ist die Adresse des letzten Byte, das im Segment adressiert werden kann. Um diesen Wert zu berechnen, kombinieren Sie die Elemente LimitLow und LimitHi .

Die WOW64_LDT_ENTRY-Struktur hat das gleiche Layout für einen 64-Bit-Prozess wie die LDT_ENTRY-Struktur für einen 32-Bit-Prozess.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile winnt.h (windows.h einschließen)

Weitere Informationen

Debuggen von Strukturen

Wow64GetThreadSelectorEntry