using System; namespace QuickLook.Plugin.PEViewer.PEImageParser; /// /// Specifies the values for the property of a section header of a PE image file. /// [Flags] public enum ImageSectionFlags : uint { /// /// Specifies that the section should not be padded to the next boundary. This flag is obsolete and is replaced by . This is valid only for object files. /// NoPadding = 0x8, /// /// Specifies that the section contains executable code. /// ContainsCode = 0x20, /// /// Specifies that the section contains initialized data. /// ContainsInitializedData = 0x40, /// /// Specifies that the section contains uninitialized data. /// ContainsUninitializedData = 0x80, /// /// Specifies that the section contains comments or other information. The .drectve section has this type. This is valid for object files only. /// ContainsInformation = 0x200, /// /// Specifies that the section will not become part of the image. This is valid only for object files. /// Remove = 0x800, /// /// Specifies that the section contains COMDAT data. This is valid only for object files. /// ContainsComdat = 0x1000, /// /// Specifies that the section contains data referenced through the global pointer (GP). /// ContainsGlobalPointerData = 0x8000, /// /// Specifies to align data on a 1-byte boundary. Valid only for object files. /// Align1 = 0x100000, /// /// Specifies to align data on a 2-byte boundary. Valid only for object files. /// Align2 = 0x200000, /// /// Specifies to align data on a 4-byte boundary. Valid only for object files. /// Align4 = 0x300000, /// /// Specifies to align data on a 8-byte boundary. Valid only for object files. /// Align8 = 0x400000, /// /// Specifies to align data on a 16-byte boundary. Valid only for object files. /// Align16 = 0x500000, /// /// Specifies to align data on a 32-byte boundary. Valid only for object files. /// Align32 = 0x600000, /// /// Specifies to align data on a 64-byte boundary. Valid only for object files. /// Align64 = 0x700000, /// /// Specifies to align data on a 128-byte boundary. Valid only for object files. /// Align128 = 0x800000, /// /// Specifies to align data on a 256-byte boundary. Valid only for object files. /// Align256 = 0x900000, /// /// Specifies to align data on a 512-byte boundary. Valid only for object files. /// Align512 = 0xa00000, /// /// Specifies to align data on a 1024-byte boundary. Valid only for object files. /// Align1024 = 0xb00000, /// /// Specifies to align data on a 2048-byte boundary. Valid only for object files. /// Align2048 = 0xc00000, /// /// Specifies to align data on a 4096-byte boundary. Valid only for object files. /// Align4096 = 0xd00000, /// /// Specifies to align data on a 8192-byte boundary. Valid only for object files. /// Align8192 = 0xe00000, /// /// Specifies that the section contains extended relocations. /// ContainsExtendedRelocations = 0x1000000, /// /// Specifies that the section can be discarded as needed. /// Discardable = 0x2000000, /// /// Specifies that the section cannot be cached. /// NotCached = 0x4000000, /// /// Specifies that the section is not pageable. /// NotPaged = 0x8000000, /// /// Specifies that the section can be shared in memory. /// Shared = 0x10000000, /// /// Specifies that the section can be executed as code. /// Execute = 0x20000000, /// /// Specifies that the section can be read. /// Read = 0x40000000, /// /// Specifies that the section can be written to. /// Write = 0x80000000, }