Bagikan melalui


struktur IMAGE_SECTION_HEADER (winnt.h)

Mewakili format header bagian gambar.

Sintaks

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;

Anggota

Name[IMAGE_SIZEOF_SHORT_NAME]

String UTF-8 dengan 8 byte dan null-padded. Tidak ada karakter null yang dihentikan jika panjang string tepat delapan karakter. Untuk nama yang lebih panjang, anggota ini berisi garis miring (/) diikuti dengan representasi ASCII dari angka desimal yang merupakan offset ke dalam tabel string. Gambar yang dapat dieksekusi tidak menggunakan tabel string dan tidak mendukung nama bagian yang lebih panjang dari delapan karakter.

Misc

Misc.PhysicalAddress

Alamat file.

Misc.VirtualSize

Ukuran total bagian saat dimuat ke dalam memori, dalam byte. Jika nilai ini lebih besar dari anggota SizeOfRawData , bagian diisi dengan nol. Bidang ini hanya valid untuk gambar yang dapat dieksekusi dan harus diatur ke 0 untuk file objek.

VirtualAddress

Alamat byte pertama bagian saat dimuat ke dalam memori, relatif terhadap basis gambar. Untuk file objek, ini adalah alamat byte pertama sebelum relokasi diterapkan.

SizeOfRawData

Ukuran data yang diinisialisasi pada disk, dalam byte. Nilai ini harus berupa kelipatan anggota FileAlignment dari struktur IMAGE_OPTIONAL_HEADER . Jika nilai ini kurang dari anggota VirtualSize , sisa bagian diisi dengan nol. Jika bagian hanya berisi data yang tidak diinisialisasi, anggotanya adalah nol.

PointerToRawData

Penunjuk file ke halaman pertama dalam file COFF. Nilai ini harus berupa kelipatan anggota FileAlignment dari struktur IMAGE_OPTIONAL_HEADER . Jika bagian hanya berisi data yang tidak diinisialisasi, atur anggota ini adalah nol.

PointerToRelocations

Penunjuk file ke awal entri relokasi untuk bagian tersebut. Jika tidak ada relokasi, nilai ini adalah nol.

PointerToLinenumbers

Penunjuk file ke awal entri nomor baris untuk bagian tersebut. Jika tidak ada nomor baris COFF, nilai ini adalah nol.

NumberOfRelocations

Jumlah entri relokasi untuk bagian tersebut. Nilai ini nol untuk gambar yang dapat dieksekusi.

NumberOfLinenumbers

Jumlah entri nomor baris untuk bagian tersebut.

Characteristics

Karakteristik gambar. Nilai berikut ditentukan.

Bendera Makna
0x00000000
Dicadangkan.
0x00000001
Dicadangkan.
0x00000002
Dicadangkan.
0x00000004
Dicadangkan.
IMAGE_SCN_TYPE_NO_PAD
0x00000008
Bagian tidak boleh diisi ke batas berikutnya. Bendera ini usang dan digantikan oleh IMAGE_SCN_ALIGN_1BYTES.
0x00000010
Dicadangkan.
IMAGE_SCN_CNT_CODE
0x00000020
Bagian berisi kode yang dapat dieksekusi.
IMAGE_SCN_CNT_INITIALIZED_DATA
0x00000040
Bagian berisi data yang diinisialisasi.
IMAGE_SCN_CNT_UNINITIALIZED_DATA
0x00000080
Bagian ini berisi data yang tidak diinisialisasi.
IMAGE_SCN_LNK_OTHER
0x00000100
Dicadangkan.
IMAGE_SCN_LNK_INFO
0x00000200
Bagian ini berisi komentar atau informasi lainnya. Ini hanya berlaku untuk file objek.
0x00000400
Dicadangkan.
IMAGE_SCN_LNK_REMOVE
0x00000800
Bagian tidak akan menjadi bagian dari gambar. Ini hanya berlaku untuk file objek.
IMAGE_SCN_LNK_COMDAT
0x00001000
Bagian ini berisi data COMDAT. Ini hanya berlaku untuk file objek.
0x00002000
Dicadangkan.
IMAGE_SCN_NO_DEFER_SPEC_EXC
0x00004000
Reset pengecualian spekulatif yang menangani bit dalam entri TLB untuk bagian ini.
IMAGE_SCN_GPREL
0x00008000
Bagian berisi data yang dirujuk melalui penunjuk global.
0x00010000
Dicadangkan.
IMAGE_SCN_MEM_PURGEABLE
0x00020000
Dicadangkan.
IMAGE_SCN_MEM_LOCKED
0x00040000
Dicadangkan.
IMAGE_SCN_MEM_PRELOAD
0x00080000
Dicadangkan.
IMAGE_SCN_ALIGN_1BYTES
0x00100000
Meratakan data pada batas 1-byte. Ini hanya berlaku untuk file objek.
IMAGE_SCN_ALIGN_2BYTES
0x00200000
Menyelaraskan data pada batas 2-byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_4BYTES
0x00300000
Sejajarkan data pada batas 4 byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_8BYTES
0x00400000
Menyelaraskan data pada batas 8-byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_16BYTES
0x00500000
Menyelaraskan data pada batas 16 byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_32BYTES
0x00600000
Menyelaraskan data pada batas 32 byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_64BYTES
0x00700000
Menyelaraskan data pada batas 64 byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_128BYTES
0x00800000
Menyelaraskan data pada batas 128 byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_256BYTES
0x00900000
Menyelaraskan data pada batas 256 byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_512BYTES
0x00A00000
Menyelaraskan data pada batas 512 byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_1024BYTES
0x00B00000
Menyelaraskan data pada batas 1024-byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_2048BYTES
0x00C00000
Menyelaraskan data pada batas 2048-byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_4096BYTES
0x00D00000
Menyelaraskan data pada batas 4096-byte. Ini hanya valid untuk file objek.
IMAGE_SCN_ALIGN_8192BYTES
0x00E00000
Menyelaraskan data pada batas 8192-byte. Ini hanya valid untuk file objek.
IMAGE_SCN_LNK_NRELOC_OVFL
0x01000000
Bagian berisi relokasi yang diperluas. Jumlah relokasi untuk bagian melebihi 16 bit yang dicadangkan untuk itu di header bagian. Jika bidang NumberOfRelocations di header bagian 0xffff, jumlah relokasi aktual disimpan di bidang VirtualAddress dari relokasi pertama. Ini adalah kesalahan jika IMAGE_SCN_LNK_NRELOC_OVFL diatur dan ada kurang dari 0xffff relokasi di bagian tersebut.
IMAGE_SCN_MEM_DISCARDABLE
0x02000000
Bagian dapat dibuang sesuai kebutuhan.
IMAGE_SCN_MEM_NOT_CACHED
0x04000000
Bagian tidak dapat di-cache.
IMAGE_SCN_MEM_NOT_PAGED
0x08000000
Bagian tidak dapat di-page.
IMAGE_SCN_MEM_SHARED
0x10000000
Bagian dapat dibagikan dalam memori.
IMAGE_SCN_MEM_EXECUTE
0x20000000
Bagian dapat dijalankan sebagai kode.
IMAGE_SCN_MEM_READ
0x40000000
Bagian dapat dibaca.
IMAGE_SCN_MEM_WRITE
0x80000000
Bagian dapat ditulis.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header winnt.h (sertakan Windows.h)

Lihat juga

ImageDirectoryEntryToDataEx

Struktur ImageHlp

ImageRvaToSection

ImageRvaToVa

LOADED_IMAGE