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