Compartilhar via


estrutura IMAGE_SECTION_HEADER (winnt.h)

Representa o formato do cabeçalho da seção de imagem.

Sintaxe

typedef struct _IMAGE_SECTION_HEADER {
  BYTE  Name[IMAGE_SIZEOF_SHORT_NAME];
  union {
    DWORD PhysicalAddress;
    DWORD VirtualSize;
  } Misc;
  DWORD VirtualAddress;
  DWORD SizeOfRawData;
  DWORD PointerToRawData;
  DWORD PointerToRelocations;
  DWORD PointerToLinenumbers;
  WORD  NumberOfRelocations;
  WORD  NumberOfLinenumbers;
  DWORD Characteristics;
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;

Membros

Name[IMAGE_SIZEOF_SHORT_NAME]

Uma cadeia de caracteres UTF-8 de 8 bytes e com adição nula. Não haverá nenhum caractere nulo de terminação se a cadeia de caracteres tiver exatamente oito caracteres. Para nomes mais longos, esse membro contém uma barra de encaminhamento (/) seguida por uma representação ASCII de um número decimal que é um deslocamento para a tabela de cadeia de caracteres. As imagens executáveis não usam uma tabela de cadeia de caracteres e não dão suporte a nomes de seção com mais de oito caracteres.

Misc

Misc.PhysicalAddress

O endereço do arquivo.

Misc.VirtualSize

O tamanho total da seção quando carregado na memória, em bytes. Se esse valor for maior que o membro SizeOfRawData , a seção será preenchida com zeros. Esse campo é válido apenas para imagens executáveis e deve ser definido como 0 para arquivos de objeto.

VirtualAddress

O endereço do primeiro byte da seção quando carregado na memória, em relação à base de imagem. Para arquivos de objeto, esse é o endereço do primeiro byte antes da aplicação da realocação.

SizeOfRawData

O tamanho dos dados inicializados no disco, em bytes. Esse valor deve ser um múltiplo do membro FileAlignment da estrutura IMAGE_OPTIONAL_HEADER . Se esse valor for menor que o membro VirtualSize , o restante da seção será preenchido com zeros. Se a seção contiver apenas dados não inicializados, o membro será zero.

PointerToRawData

Um ponteiro de arquivo para a primeira página dentro do arquivo COFF. Esse valor deve ser um múltiplo do membro FileAlignment da estrutura IMAGE_OPTIONAL_HEADER . Se uma seção contiver apenas dados não inicializados, defina que esse membro será zero.

PointerToRelocations

Um ponteiro de arquivo para o início das entradas de realocação da seção. Se não houver realocação, esse valor será zero.

PointerToLinenumbers

Um ponteiro de arquivo para o início das entradas de número de linha para a seção. Se não houver números de linha COFF, esse valor será zero.

NumberOfRelocations

O número de entradas de relocação da seção. Esse valor é zero para imagens executáveis.

NumberOfLinenumbers

O número de entradas de número de linha da seção.

Characteristics

As características da imagem. Os valores a seguir são definidos.

Sinalizador Significado
0x00000000
Reservado.
0x00000001
Reservado.
0x00000002
Reservado.
0x00000004
Reservado.
IMAGE_SCN_TYPE_NO_PAD
0x00000008
A seção não deve ser preenchida para o próximo limite. Esse sinalizador é obsoleto e foi substituído por IMAGE_SCN_ALIGN_1BYTES.
0x00000010
Reservado.
IMAGE_SCN_CNT_CODE
0x00000020
A seção contém um código executável.
IMAGE_SCN_CNT_INITIALIZED_DATA
0x00000040
A seção contém dados inicializados.
IMAGE_SCN_CNT_UNINITIALIZED_DATA
0x00000080
A seção contém dados não inicializados.
IMAGE_SCN_LNK_OTHER
0x00000100
Reservado.
IMAGE_SCN_LNK_INFO
0x00000200
A seção contém comentários ou outras informações. Isso só é válido para arquivos de objeto.
0x00000400
Reservado.
IMAGE_SCN_LNK_REMOVE
0x00000800
A seção não passará a fazer parte da imagem. Isso só é válido para arquivos de objeto.
IMAGE_SCN_LNK_COMDAT
0x00001000
A seção contém dados COMDAT. Isso só é válido para arquivos de objeto.
0x00002000
Reservado.
IMAGE_SCN_NO_DEFER_SPEC_EXC
0x00004000
Redefina as exceções especulativas que manipulam bits nas entradas TLB desta seção.
IMAGE_SCN_GPREL
0x00008000
A seção contém dados referenciados por meio do ponteiro global.
0x00010000
Reservado.
IMAGE_SCN_MEM_PURGEABLE
0x00020000
Reservado.
IMAGE_SCN_MEM_LOCKED
0x00040000
Reservado.
IMAGE_SCN_MEM_PRELOAD
0x00080000
Reservado.
IMAGE_SCN_ALIGN_1BYTES
0x00100000
Alinha os dados em um limite de 1 byte. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_2BYTES
0x00200000
Alinha os dados em um limite de 2 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_4BYTES
0x00300000
Alinha os dados em um limite de 4 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_8BYTES
0x00400000
Alinhar dados em um limite de 8 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_16BYTES
0x00500000
Alinha os dados em um limite de 16 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_32BYTES
0x00600000
Alinha os dados em um limite de 32 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_64BYTES
0x00700000
Alinha os dados em um limite de 64 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_128BYTES
0x00800000
Alinha os dados em um limite de 128 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_256BYTES
0x00900000
Alinha os dados em um limite de 256 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_512BYTES
0x00A00000
Alinha os dados em um limite de 512 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_1024BYTES
0x00B00000
Alinha os dados em um limite de 1.024 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_2048BYTES
0x00C00000
Alinha os dados em um limite de 2.048 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_4096BYTES
0x00D00000
Alinha os dados em um limite de 4.096 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_ALIGN_8192BYTES
0x00E00000
Alinhar dados em um limite de 8192 bytes. Isso só é válido para arquivos de objeto.
IMAGE_SCN_LNK_NRELOC_OVFL
0x01000000
A seção contém relocações estendidas. A contagem de realocações para a seção excede os 16 bits reservados para ele no cabeçalho da seção. Se o campo NumberOfRelocations no cabeçalho da seção for 0xffff, a contagem real de realocação será armazenada no campo VirtualAddress da primeira realocação. Será um erro se IMAGE_SCN_LNK_NRELOC_OVFL for definido e houver menos de 0xffff relocações na seção.
IMAGE_SCN_MEM_DISCARDABLE
0x02000000
A seção pode ser descartada conforme necessário.
IMAGE_SCN_MEM_NOT_CACHED
0x04000000
A seção não pode ser armazenada em cache.
IMAGE_SCN_MEM_NOT_PAGED
0x08000000
A seção não pode ser paginada.
IMAGE_SCN_MEM_SHARED
0x10000000
A seção pode ser compartilhada na memória.
IMAGE_SCN_MEM_EXECUTE
0x20000000
A seção pode ser executada como um código.
IMAGE_SCN_MEM_READ
0x40000000
A seção pode ser lida.
IMAGE_SCN_MEM_WRITE
0x80000000
A seção pode ser gravada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winnt.h (inclua Windows.h)

Confira também

ImageDirectoryEntryToDataEx

Estruturas ImageHlp

ImageRvaToSection

ImageRvaToVa

LOADED_IMAGE