ProcessModule.EntryPointAddress Eigenschaft

Definition

Ruft die Speicheradresse für die Funktion ab, die beim Laden und Ausführen des Moduls ausgeführt wird.Gets the memory address for the function that runs when the system loads and runs the module.

public:
 property IntPtr EntryPointAddress { IntPtr get(); };
public IntPtr EntryPointAddress { get; }
member this.EntryPointAddress : nativeint
Public ReadOnly Property EntryPointAddress As IntPtr

Eigenschaftswert

Der Einstiegspunkt des Moduls.The entry point of the module.

Beispiele

Im folgenden Codebeispiel wird ein neuer Prozess für die Anwendung „Notepad. exe“ erstellt.The following code example creates a new process for the Notepad.exe application. Der Code durchläuft die ProcessModuleCollection-Klasse, um ein ProcessModule-Objekt für jedes Modul in der Sammlung abzurufen.The code iterates through the ProcessModuleCollection class to obtain a ProcessModule object for each module in the collection. Die Eigenschaften ModuleName und EntryPointAddress werden verwendet, um den Namen und die Einstiegspunktadresse für jedes Modul anzuzeigen.The ModuleName and EntryPointAddress properties are used to display the name and the entry point address for each module.

Process^ myProcess = gcnew Process;

// Get the process start information of notepad.
ProcessStartInfo^ myProcessStartInfo = gcnew 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( "{0} : {1}", myProcessModule->ModuleName, myProcessModule->EntryPointAddress );
}
myProcessModule = myProcess->MainModule;
Console::WriteLine( "The process's main module's EntryPointAddress is: {0}", myProcessModule->EntryPointAddress );
myProcess->CloseMainWindow();
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();
}
Using myProcess As New Process()
    ' Get the process start information of notepad.
    Dim myProcessStartInfo As 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)
    Dim myProcessModule As ProcessModule
    ' Get all the modules associated with 'myProcess'.
    Dim myProcessModuleCollection As ProcessModuleCollection = myProcess.Modules
    Console.WriteLine("Entry point addresses of the modules " +
                   "associated with 'notepad' are:")
    ' Display the 'EntryPointAddress' of each of the modules.
    Dim i As Integer
    For i = 0 To myProcessModuleCollection.Count - 1
        myProcessModule = myProcessModuleCollection(i)
        Console.WriteLine(myProcessModule.ModuleName + " : " +
                                myProcessModule.EntryPointAddress.ToString())
    Next i
    ' Get the main module associated with 'myProcess'.
    myProcessModule = myProcess.MainModule
    Console.WriteLine("The process's main module's EntryPointAddress is: " +
                         myProcessModule.EntryPointAddress.ToString())
    myProcess.CloseMainWindow()
End Using

Hinweise

Der Einstiegspunkt des Moduls ist die Position der Funktion, die jeweils beim Starten bzw. Herunterfahren des Prozesses bzw. Threads aufgerufen wird.The module's entry point is the location of the function that is called during process startup, thread startup, process shutdown, and thread shutdown. Obwohl der Einstiegspunkt nicht die Adresse der DllMain-Funktion ist, sollte er für die meisten Zwecke nahe genug sein.While the entry point is not the address of the DllMain function, it should be close enough for most purposes.

Hinweis

Aufgrund von Änderungen der Art und Weise, in der Windows Assemblys lädt, gibt EntryPointAddress für Windows 8Windows 8 oder Windows 8.1Windows 8.1 stets 0 zurück und sollte für diese Plattformen nicht verwendet werden.Due to changes in the way that Windows loads assemblies, EntryPointAddress will always return 0 on Windows 8Windows 8 or Windows 8.1Windows 8.1 and should not be relied on for those platforms.

Gilt für: