Compartilhar via


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)

Confira também

Estruturas de depuração

Wow64GetThreadSelectorEntry