ProcessModule.EntryPointAddress Propiedad

Definición

Obtiene la dirección de memoria para la función que se ejecuta cuando el sistema carga y ejecuta el módulo.

public IntPtr EntryPointAddress { get; }

Valor de propiedad

IntPtr

El punto de entrada del módulo.

Ejemplos

En el ejemplo de código siguiente se crea un nuevo proceso para la aplicación Notepad.exe. El código itera a través de la clase ProcessModuleCollection para obtener un objeto ProcessModule para cada módulo de la colección. Las propiedades ModuleName y EntryPointAddress se usan para mostrar el nombre y la dirección del punto de entrada para cada módulo.

using (Process myProcess = new Process())
{
    // Get the process start information of notepad.
    ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("notepad.exe");
    // Assign 'StartInfo' of notepad to 'StartInfo' of 'myProcess' object.
    myProcess.StartInfo = myProcessStartInfo;
    // Create a notepad.
    myProcess.Start();
    System.Threading.Thread.Sleep(1000);
    ProcessModule myProcessModule;
    // Get all the modules associated with 'myProcess'.
    ProcessModuleCollection myProcessModuleCollection = myProcess.Modules;
    Console.WriteLine("Entry point addresses of the modules "
        + "associated with 'notepad' are:");
    // Display the 'EntryPointAddress' of each of the modules.
    for (int i = 0; i < myProcessModuleCollection.Count; i++)
    {
        myProcessModule = myProcessModuleCollection[i];
        Console.WriteLine(myProcessModule.ModuleName + " : "
            + myProcessModule.EntryPointAddress);
    }
    // Get the main module associated with 'myProcess'.
    myProcessModule = myProcess.MainModule;
    Console.WriteLine("The process's main module's EntryPointAddress is: "
        + myProcessModule.EntryPointAddress);
    myProcess.CloseMainWindow();
}

Comentarios

El punto de entrada del módulo es la ubicación de la función a la que se llama durante el inicio del proceso, el inicio del subproceso, el cierre del proceso y el cierre del subproceso. Aunque el punto de entrada no es la dirección de la función DllMain, debe estar lo suficientemente cerca para la mayoría de los propósitos.

Nota

Debido a los cambios en la forma en que Windows carga ensamblados, EntryPointAddress siempre devolverá 0 en Windows 8 o Windows 8.1 y no se debe confiar en para esas plataformas.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1