IMAGE_SECTION_HEADER struttura (winnt.h)

Rappresenta il formato dell'intestazione della sezione dell'immagine.

Sintassi

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;

Members

Name[IMAGE_SIZEOF_SHORT_NAME]

Stringa UTF-8 con riempimento null. Non esiste alcun carattere null terminante se la stringa è esattamente otto caratteri. Per nomi più lunghi, questo membro contiene una barra in avanti (/) seguita da una rappresentazione ASCII di un numero decimale che rappresenta un offset nella tabella stringa. Le immagini eseguibili non usano una tabella stringa e non supportano nomi di sezione più di otto caratteri.

Misc

Misc.PhysicalAddress

Indirizzo del file.

Misc.VirtualSize

Dimensioni totali della sezione quando vengono caricate in memoria, in byte. Se questo valore è maggiore del membro SizeOfRawData , la sezione viene riempita con zero. Questo campo è valido solo per le immagini eseguibili e deve essere impostato su 0 per i file oggetto.

VirtualAddress

Indirizzo del primo byte della sezione quando viene caricato in memoria, rispetto alla base dell'immagine. Per i file di oggetto, questo è l'indirizzo del primo byte prima che venga applicata la rilocazione.

SizeOfRawData

Dimensioni dei dati inizializzati su disco, in byte. Questo valore deve essere un multiplo del membro FileAlignment della struttura IMAGE_OPTIONAL_HEADER . Se questo valore è minore del membro VirtualSize , il resto della sezione viene riempito con zero. Se la sezione contiene solo dati non inizializzati, il membro è zero.

PointerToRawData

Puntatore file alla prima pagina all'interno del file COFF. Questo valore deve essere un multiplo del membro FileAlignment della struttura IMAGE_OPTIONAL_HEADER . Se una sezione contiene solo dati non inizializzati, impostare questo membro è zero.

PointerToRelocations

Puntatore ai file all'inizio delle voci di rilocazione per la sezione. Se non sono presenti rilocazione, questo valore è zero.

PointerToLinenumbers

Puntatore di file all'inizio delle voci del numero di riga per la sezione. Se non sono presenti numeri di riga COFF, questo valore è zero.

NumberOfRelocations

Numero di voci di rilocazione per la sezione. Questo valore è zero per le immagini eseguibili.

NumberOfLinenumbers

Numero di voci numeri di riga per la sezione.

Characteristics

Caratteristiche dell'immagine. I valori seguenti sono definiti.

Contrassegno Significato
0x00000000
Riservato.
0x00000001
Riservato.
0x00000002
Riservato.
0x00000004
Riservato.
IMAGE_SCN_TYPE_NO_PAD
0x00000008
La sezione non deve essere riempita al limite successivo. Questo flag è obsoleto e viene sostituito da IMAGE_SCN_ALIGN_1BYTES.
0x00000010
Riservato.
IMAGE_SCN_CNT_CODE
0x00000020
La sezione contiene codice eseguibile.
IMAGE_SCN_CNT_INITIALIZED_DATA
0x00000040
La sezione contiene dati inizializzati.
IMAGE_SCN_CNT_UNINITIALIZED_DATA
0x00000080
La sezione contiene dati non inizializzati.
IMAGE_SCN_LNK_OTHER
0x00000100
Riservato.
IMAGE_SCN_LNK_INFO
0x00000200
La sezione contiene commenti o altre informazioni. Questo valore è valido solo per i file oggetto.
0x00000400
Riservato.
IMAGE_SCN_LNK_REMOVE
0x00000800
La sezione non diventerà parte dell'immagine. Questo valore è valido solo per i file oggetto.
IMAGE_SCN_LNK_COMDAT
0x00001000
La sezione contiene dati COMDAT. Questo valore è valido solo per i file oggetto.
0x00002000
Riservato.
IMAGE_SCN_NO_DEFER_SPEC_EXC
0x00004000
Reimpostare le eccezioni speculative che gestiscono i bit nelle voci TLB per questa sezione.
IMAGE_SCN_GPREL
0x00008000
La sezione contiene i dati a cui fa riferimento il puntatore globale.
0x00010000
Riservato.
IMAGE_SCN_MEM_PURGEABLE
0x00020000
Riservato.
IMAGE_SCN_MEM_LOCKED
0x00040000
Riservato.
IMAGE_SCN_MEM_PRELOAD
0x00080000
Riservato.
IMAGE_SCN_ALIGN_1BYTES
0x00100000
Allineare i dati su un limite di 1 byte. Questo valore è valido solo per i file oggetto.
IMAGE_SCN_ALIGN_2BYTES
0x00200000
Allineare i dati su un limite a 2 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_4BYTES
0x00300000
Allineare i dati su un limite a 4 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_8BYTES
0x00400000
Allineare i dati su un limite a 8 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_16BYTES
0x00500000
Allineare i dati su un limite di 16 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_32BYTES
0x00600000
Allineare i dati su un limite di 32 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_64BYTES
0x00700000
Allineare i dati su un limite di 64 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_128BYTES
0x00800000
Allineare i dati su un limite di 128 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_256BYTES
0x00900000
Allineare i dati su un limite di 256 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_512BYTES
0x00A00000
Allineare i dati su un limite di 512 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_1024BYTES
0x00B00000
Allineare i dati su un limite di 1024 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_2048BYTES
0x00C00000
Allineare i dati su un limite di 2048 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_4096BYTES
0x00D00000
Allineare i dati su un limite di 4096 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_ALIGN_8192BYTES
0x00E00000
Allineare i dati su un limite di 8192 byte. Questa opzione è valida solo per i file oggetto.
IMAGE_SCN_LNK_NRELOC_OVFL
0x01000000
La sezione contiene rilocazione estesa. Il numero di rilocazione per la sezione supera i 16 bit riservati nell'intestazione della sezione. Se il campo NumberOfRelocations nell'intestazione della sezione è 0xffff, il numero effettivo di rilocazione viene archiviato nel campo VirtualAddress della prima rilocazione. Si tratta di un errore se IMAGE_SCN_LNK_NRELOC_OVFL è impostato e nella sezione sono presenti meno di 0xffff rilocazione.
IMAGE_SCN_MEM_DISCARDABLE
0x02000000
La sezione può essere eliminata in base alle esigenze.
IMAGE_SCN_MEM_NOT_CACHED
0x04000000
Impossibile memorizzare nella cache la sezione.
IMAGE_SCN_MEM_NOT_PAGED
0x08000000
Impossibile modificare la pagina della sezione.
IMAGE_SCN_MEM_SHARED
0x10000000
La sezione può essere condivisa in memoria.
IMAGE_SCN_MEM_EXECUTE
0x20000000
La sezione può essere eseguita come codice.
IMAGE_SCN_MEM_READ
0x40000000
La sezione può essere letta.
IMAGE_SCN_MEM_WRITE
0x80000000
La sezione può essere scritta in .

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winnt.h (include Windows.h)

Vedi anche

ImageDirectoryEntryToDataEx

Strutture ImageHlp

ImageRvaToSection

ImageRvaToVa

LOADED_IMAGE