// // ExecutableLibraryCharacteristics.cs - indicates attributes of a library // // Author: // Michael Becker // // Copyright (c) 2011-2020 Mike Becker's Software // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . using System; namespace UniversalEditor.ObjectModels.Executable { /// /// Indicates attributes of a library. /// [Flags()] public enum ExecutableLibraryCharacteristics : ushort { /// /// No library characteristics have been specified. /// None = 0x0000, /// /// Call when DLL is first loaded into a process's address space. /// CallUponLoad = 0x0001, /// /// Call when a thread terminates. /// CallUponThreadTerminate = 0x0002, /// /// Call when a thread starts up. /// CallUponThreadStart = 0x0004, /// /// Call when DLL exits. /// CallUponLibraryExit = 0x0008, /// /// The DLL can be relocated at load time. /// DynamicBase = 0x0040, /// /// Code integrity checks are forced. If you set this flag and a section contains only /// uninitialized data, set the PointerToRawData member of IMAGE_SECTION_HEADER for that /// section to zero; otherwise, the image will fail to load because the digital signature /// cannot be verified. /// ForceCodeIntegrityChecks = 0x0080, /// /// The image is compatible with data execution prevention (DEP), the NX bit. /// DataExecutionPreventionCompatible = 0x0100, /// /// The image is isolation aware, but should not be isolated. /// NoIsolation = 0x0200, /// /// The image does not use structured exception handling (SEH). No handlers can be called in /// this image. /// NoStructuredExceptionHandling = 0x0400, /// /// Do not bind the image. /// NoBinding = 0x0800, /// /// Reserved. /// Reserved4096 = 0x1000, /// /// A WDM driver. /// WDMDriver = 0x2000, /// /// Reserved. /// Reserved16384 = 0x4000, /// /// The image is terminal server aware. /// TerminalServerAware = 0x8000 } }