ProcessModule.EntryPointAddress Özellik

Tanım

Sistem modülü yükleyip çalıştırdığında çalışan işlevin bellek adresini alır.

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

Özellik Değeri

IntPtr

nativeint

Modülün giriş noktası.

Örnekler

Aşağıdaki kod örneği, Notepad.exe uygulaması için yeni bir işlem oluşturur. Kod, koleksiyondaki ProcessModuleCollection her modül için bir ProcessModule nesne elde etmek için sınıfı boyunca yinelenir. ModuleName ve EntryPointAddress özellikleri, her modülün adını ve giriş noktası adresini görüntülemek için kullanılır.

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

Açıklamalar

Modülün giriş noktası, işlem başlatma, iş parçacığı başlatma, işlem kapatma ve iş parçacığı kapatma sırasında çağrılan işlevin konumudur. Giriş noktası DllMain işlevinin adresi olmasa da, çoğu amaç için yeterince yakın olmalıdır.

Note

Windows derlemeleri yükleme biçimindeki değişiklikler nedeniyle EntryPointAddress Windows 8 veya Windows 8.1 her zaman 0 döndürür ve bu platformlara bağlı olmamalıdır.

Şunlara uygulanır