estrutura WOW64_LDT_ENTRY (winnt.h)
Descreve uma entrada na tabela de descritor para um thread de 32 bits em um sistema de 64 bits. Essa estrutura é válida somente em sistemas de 64 bits.
Sintaxe
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;
Membros
LimitLow
A parte de baixa ordem do endereço do último byte no segmento.
BaseLow
A parte de baixa ordem do endereço base do segmento.
HighWord
A parte de alta ordem do descritor. Esse membro pode ser interpretado como bytes ou coleções de bits, dependendo do nível de detalhe necessário.
HighWord.Bytes
HighWord.Bytes.BaseMid
Bits médios (16 a 23) do endereço base do segmento.
HighWord.Bytes.Flags1
Valores dos membros Type, Dpl e Pres na estrutura Bits .
HighWord.Bytes.Flags2
Valores dos membros LimitHi, Sys, Reserved_0, Default_Big e Granularity na estrutura Bits .
HighWord.Bytes.BaseHi
Bits altos (24 a 31) do endereço base do segmento.
HighWord.Bits
HighWord.Bits.BaseMid
Os bits médios (16 a 23) do endereço base do segmento.
HighWord.Bits.Type
O tipo de segmento. Esse membro pode ser um dos seguintes valores:
HighWord.Bits.Dpl
O nível de privilégio do descritor. Esse membro é um valor inteiro no intervalo 0 (mais privilegiado) até 3 (menos privilegiado).
HighWord.Bits.Pres
O sinalizador atual. Esse membro será 1 se o segmento estiver presente na memória física ou 0 se não estiver.
HighWord.Bits.LimitHi
Os bits altos (16 a 19) do endereço do último byte no segmento.
HighWord.Bits.Sys
O espaço disponível para programadores do sistema. Esse membro pode ser usado para marcar segmentos de alguma forma específica do sistema.
HighWord.Bits.Reserved_0
Reservado.
HighWord.Bits.Default_Big
O tamanho do segmento. Se o segmento for um segmento de dados, esse membro conterá 1 se o segmento for maior que 64 quilobytes (KB) ou 0 se o segmento for menor ou igual a 64 KB.
Se o segmento for um segmento de código, esse membro conterá 1. O segmento é executado com o conjunto de instruções padrão (modo nativo).
HighWord.Bits.Granularity
A granularidade. Esse membro conterá 0 se o segmento for granular de bytes, 1 se o segmento for granular de página.
HighWord.Bits.BaseHi
Os bits altos (24 a 31) do endereço base do segmento.
Comentários
A função Wow64GetThreadSelectorEntry preenche essa estrutura com informações de uma entrada na tabela do descritor. Você pode usar essas informações para converter um endereço relativo ao segmento em um endereço virtual linear.
O endereço base de um segmento é o endereço do deslocamento 0 no segmento. Para calcular esse valor, combine os membros BaseLow, BaseMid e BaseHi .
O limite de um segmento é o endereço do último byte que pode ser abordado no segmento. Para calcular esse valor, combine os membros LimitLow e LimitHi .
A estrutura WOW64_LDT_ENTRY tem o mesmo layout para um processo de 64 bits que a estrutura de LDT_ENTRY tem para um processo de 32 bits.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho | winnt.h (inclua Windows.h) |