EntryPointAddress Property

ProcessModule.EntryPointAddress Property


Gets the memory address for the function that runs when the system loads and runs the module.

Namespace:   System.Diagnostics
Assembly:  System (in System.dll)

public IntPtr EntryPointAddress { get; }

Property Value

Type: System.IntPtr

The entry point of the module.

The module's entry point is the location of the function that is called during process startup, thread startup, process shutdown, and thread shutdown. While the entry point is not the address of the DllMain function, it should be close enough for most purposes.


Due to changes in the way that Windows loads assemblies, EntryPointAddress will always return 0 on Windows 8 or Windows 8.1 and should not be relied on for those platforms.

The following code example creates a new process for the Notepad.exe application. The code iterates through the ProcessModuleCollection class to obtain a ProcessModule object for each module in the collection. The ModuleName and EntryPointAddress properties are used to display the name and the entry point address for each module.

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.
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+" : "
// Get the main module associated with 'myProcess'.
myProcessModule = myProcess.MainModule;
Console.WriteLine("The process's main module's EntryPointAddress is: "

.NET Framework
Available since 1.1
Return to top
© 2015 Microsoft