estructura WOW64_LDT_ENTRY (winnt.h)

Describe una entrada en la tabla descriptor para un subproceso de 32 bits en un sistema de 64 bits. Esta estructura solo es válida en sistemas de 64 bits.

Sintaxis

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;

Miembros

LimitLow

Parte de orden inferior de la dirección del último byte del segmento.

BaseLow

Parte de orden inferior de la dirección base del segmento.

HighWord

Parte de orden superior del descriptor. Este miembro se puede interpretar como bytes o colecciones de bits, según el nivel de detalle necesario.

HighWord.Bytes

HighWord.Bytes.BaseMid

Bits intermedios (16–23) de la dirección base del segmento.

HighWord.Bytes.Flags1

Valores de los miembros Type, Dpl y Pres de la estructura Bits .

HighWord.Bytes.Flags2

Valores de los miembros LimitHi, Sys, Reserved_0, Default_Big y Granularidad en la estructura Bits .

HighWord.Bytes.BaseHi

Bits altos (24–31) de la dirección base del segmento.

HighWord.Bits

HighWord.Bits.BaseMid

Los bits intermedios (16–23) de la dirección base del segmento.

HighWord.Bits.Type

Tipo de segmento. Este miembro puede ser uno de los siguientes valores:

HighWord.Bits.Dpl

Nivel de privilegio del descriptor. Este miembro es un valor entero en el intervalo 0 (con más privilegios) a 3 (con privilegios mínimos).

HighWord.Bits.Pres

Marca actual. Este miembro es 1 si el segmento está presente en memoria física o 0 si no lo está.

HighWord.Bits.LimitHi

Bits altos (16–19) de la dirección del último byte del segmento.

HighWord.Bits.Sys

Espacio que está disponible para los programadores del sistema. Este miembro puede usarse para marcar segmentos de alguna manera específica del sistema.

HighWord.Bits.Reserved_0

Reservado.

HighWord.Bits.Default_Big

Tamaño del segmento. Si el segmento es un segmento de datos, este miembro contiene 1 si el segmento es mayor que 64 kilobytes (KB) o 0 si el segmento es menor o igual que 64 KB.

Si el segmento es un segmento de código, este miembro contiene 1. El segmento se ejecuta con el conjunto de instrucciones predeterminado (modo nativo).

HighWord.Bits.Granularity

Granularidad. Este miembro contiene 0 si el segmento es granular de bytes, 1 si el segmento es granular de página.

HighWord.Bits.BaseHi

Bits altos (24–31) de la dirección base del segmento.

Comentarios

La función Wow64GetThreadSelectorEntry rellena esta estructura con información de una entrada de la tabla descriptor. Puede usar esta información para convertir una dirección relativa al segmento en una dirección virtual lineal.

La dirección base de un segmento es la dirección de desplazamiento 0 del segmento. Para calcular este valor, combine los miembros BaseLow, BaseMid y BaseHi .

El límite de un segmento es la dirección del último byte que se puede abordar en el segmento. Para calcular este valor, combine los miembros LimitLow y LimitHi .

La estructura de WOW64_LDT_ENTRY tiene el mismo diseño para un proceso de 64 bits que la estructura de LDT_ENTRY tiene para un proceso de 32 bits.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado winnt.h (incluye Windows.h)

Consulte también

Estructuras de depuración

Wow64GetThreadSelectorEntry