Partager via


IMAGE_SECTION_HEADER structure (winnt.h)

Représente le format d’en-tête de section image.

Syntaxe

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;

Membres

Name[IMAGE_SIZEOF_SHORT_NAME]

Chaîne UTF-8 remplie de 8 octets. Il n’existe aucun caractère null de fin si la chaîne contient exactement huit caractères. Pour les noms plus longs, ce membre contient une barre oblique (/) suivie d’une représentation ASCII d’un nombre décimal qui est un décalage dans la table de chaînes. Les images exécutables n’utilisent pas de table de chaînes et ne prennent pas en charge les noms de section de plus de huit caractères.

Misc

Misc.PhysicalAddress

Adresse du fichier.

Misc.VirtualSize

Taille totale de la section lorsqu’elle est chargée en mémoire, en octets. Si cette valeur est supérieure au membre SizeOfRawData , la section est remplie avec des zéros. Ce champ est valide uniquement pour les images exécutables et doit être défini sur 0 pour les fichiers objet.

VirtualAddress

Adresse du premier octet de la section lorsqu’elle est chargée en mémoire, par rapport à la base d’images. Pour les fichiers objet, il s’agit de l’adresse du premier octet avant l’application de la relocalisation.

SizeOfRawData

Taille des données initialisées sur le disque, en octets. Cette valeur doit être un multiple du membre FileAlignment de la structure IMAGE_OPTIONAL_HEADER . Si cette valeur est inférieure au membre VirtualSize , le reste de la section est rempli de zéros. Si la section contient uniquement des données non initialisées, le membre est égal à zéro.

PointerToRawData

Pointeur de fichier vers la première page du fichier COFF. Cette valeur doit être un multiple du membre FileAlignment de la structure IMAGE_OPTIONAL_HEADER . Si une section contient uniquement des données non initialisées, définissez ce membre sur zéro.

PointerToRelocations

Pointeur de fichier vers le début des entrées de déplacement pour la section. S’il n’y a pas de relocalisations, cette valeur est égale à zéro.

PointerToLinenumbers

Pointeur de fichier vers le début des entrées de numéro de ligne pour la section. S’il n’y a pas de numéros de ligne COFF, cette valeur est égale à zéro.

NumberOfRelocations

Le nombre d’entrées de relocalisation pour la section. Cette valeur est égale à zéro pour les images exécutables.

NumberOfLinenumbers

Le nombre d’entrées de numéro de ligne pour la section.

Characteristics

Caractéristiques de l’image. Les valeurs suivantes sont définies.

Indicateur Signification
0x00000000
Réservé.
0x00000001
Réservé.
0x00000002
Réservé.
0x00000004
Réservé.
IMAGE_SCN_TYPE_NO_PAD
0x00000008
La section ne doit pas être remplie jusqu’à la limite suivante. Cet indicateur est obsolète et est remplacé par IMAGE_SCN_ALIGN_1BYTES.
0x00000010
Réservé.
IMAGE_SCN_CNT_CODE
0x00000020
La section contient du code exécutable.
IMAGE_SCN_CNT_INITIALIZED_DATA
0x00000040
La section contient des données initialisées.
IMAGE_SCN_CNT_UNINITIALIZED_DATA
0x00000080
La section contient des données non initialisées.
IMAGE_SCN_LNK_OTHER
0x00000100
Réservé.
IMAGE_SCN_LNK_INFO
0x00000200
La section contient des commentaires ou d’autres informations. Ceci n’est valable que pour les fichiers objets.
0x00000400
Réservé.
IMAGE_SCN_LNK_REMOVE
0x00000800
La section ne fera pas partie de l’image. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_LNK_COMDAT
0x00001000
La section contient des données COMDAT. Ceci n’est valable que pour les fichiers objets.
0x00002000
Réservé.
IMAGE_SCN_NO_DEFER_SPEC_EXC
0x00004000
Réinitialisez les exceptions spéculatives qui gèrent les bits dans les entrées TLB pour cette section.
IMAGE_SCN_GPREL
0x00008000
La section contient des données référencées via le pointeur global.
0x00010000
Réservé.
IMAGE_SCN_MEM_PURGEABLE
0x00020000
Réservé.
IMAGE_SCN_MEM_LOCKED
0x00040000
Réservé.
IMAGE_SCN_MEM_PRELOAD
0x00080000
Réservé.
IMAGE_SCN_ALIGN_1BYTES
0x00100000
Alignez les données sur une limite de 1 octet. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_2BYTES
0x00200000
Alignez les données sur une limite de 2 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_4BYTES
0x00300000
Alignez les données sur une limite de 4 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_8BYTES
0x00400000
Aligner les données sur une limite de 8 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_16BYTES
0x00500000
Alignez les données sur une limite de 16 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_32BYTES
0x00600000
Alignez les données sur une limite de 32 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_64BYTES
0x00700000
Alignez les données sur une limite de 64 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_128BYTES
0x00800000
Alignez les données sur une limite de 128 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_256BYTES
0x00900000
Alignez les données sur une limite de 256 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_512BYTES
0x00A00000
Alignez les données sur une limite de 512 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_1024BYTES
0x00B00000
Alignez les données sur une limite de 1 024 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_2048BYTES
0x00C00000
Alignez les données sur une limite de 2 048 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_4096BYTES
0x00D00000
Alignez les données sur une limite de 4 096 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_ALIGN_8192BYTES
0x00E00000
Aligner les données sur une limite de 8192 octets. Ceci n’est valable que pour les fichiers objets.
IMAGE_SCN_LNK_NRELOC_OVFL
0x01000000
La section contient des relocalisations étendues. Le nombre de déplacement de la section dépasse les 16 bits qui lui sont réservés dans l’en-tête de section. Si le champ NumberOfRelocations dans l’en-tête de section est 0xffff, le nombre réel de réinstallations est stocké dans le champ VirtualAddress de la première réinstallation. Il s’agit d’une erreur si IMAGE_SCN_LNK_NRELOC_OVFL est défini et qu’il y a moins de 0xffff relocalisations dans la section.
IMAGE_SCN_MEM_DISCARDABLE
0x02000000
La section peut être ignorée si nécessaire.
IMAGE_SCN_MEM_NOT_CACHED
0x04000000
La section ne peut pas être mise en cache.
IMAGE_SCN_MEM_NOT_PAGED
0x08000000
La section ne peut pas être paginée.
IMAGE_SCN_MEM_SHARED
0x10000000
La section peut être partagée en mémoire.
IMAGE_SCN_MEM_EXECUTE
0x20000000
La section peut être exécutée en tant que code.
IMAGE_SCN_MEM_READ
0x40000000
La section peut être lue.
IMAGE_SCN_MEM_WRITE
0x80000000
La section peut être écrite.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winnt.h (inclure Windows.h)

Voir aussi

ImageDirectoryEntryToDataEx

Structures ImageHlp

ImageRvaToSection

ImageRvaToVa

LOADED_IMAGE