Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad ProcessModule.EntryPointAddress

 

Publicado: octubre de 2016

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

Espacio de nombres:   System.Diagnostics
Ensamblado:  System (en System.dll)

public IntPtr EntryPointAddress { get; }

Valor de propiedad

Type: System.IntPtr

El punto de entrada del módulo.

Punto de entrada del módulo es la ubicación de la función que se llama durante el inicio del proceso, inicio del subproceso, proceso de cierre y apagado de subproceso. Aunque el punto de entrada no es la dirección de la función DllMain, debería ser lo suficiente para la mayoría de los casos.

System_CAPS_noteNota

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

En el ejemplo de código siguiente se crea un nuevo proceso para la aplicación Notepad.exe. El código recorre en iteración la ProcessModuleCollection clase para obtener un ProcessModule objeto para cada módulo de la colección. El ModuleName y EntryPointAddress propiedades se utilizan para mostrar el nombre y la dirección del punto de entrada para cada módulo.

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();

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: