ProcessModule.ModuleMemorySize Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene la cantidad de memoria necesaria para cargar el módulo.
public:
property int ModuleMemorySize { int get(); };
public int ModuleMemorySize { get; }
member this.ModuleMemorySize : int
Public ReadOnly Property ModuleMemorySize As Integer
Valor de propiedad
Tamaño, en bytes, de la memoria que ocupa el módulo.
Ejemplos
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. Las ModuleName propiedades y ModuleMemorySize se usan para mostrar el nombre del módulo y la cantidad de memoria necesaria 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("Module memory sizes of the modules associated "
+ "with 'notepad' are:");
// Display the 'ModuleMemorySize' of each of the modules.
for (int i = 0; i < myProcessModuleCollection.Count; i++)
{
myProcessModule = myProcessModuleCollection[i];
Console.WriteLine(myProcessModule.ModuleName + " : "
+ myProcessModule.ModuleMemorySize);
}
// Get the main module associated with 'myProcess'.
myProcessModule = myProcess.MainModule;
// Display the 'ModuleMemorySize' of the main module.
Console.WriteLine("The process's main module's ModuleMemorySize is: "
+ myProcessModule.ModuleMemorySize);
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("Module memory sizes of the modules associated " +
"with 'notepad' are:")
' Display the 'ModuleMemorySize' of each of the modules.
Dim i As Integer
For i = 0 To myProcessModuleCollection.Count - 1
myProcessModule = myProcessModuleCollection(i)
Console.WriteLine(myProcessModule.ModuleName + " : " +
myProcessModule.ModuleMemorySize.ToString())
Next i
' Get the main module associated with 'myProcess'.
myProcessModule = myProcess.MainModule
' Display the 'ModuleMemorySize' of the main module.
Console.WriteLine("The process's main module's ModuleMemorySize is: " +
myProcessModule.ModuleMemorySize.ToString())
myProcess.CloseMainWindow()
End Using
Comentarios
ModuleMemorySize no incluye asignaciones de memoria adicionales que realice el módulo una vez que se esté ejecutando; incluye solo el tamaño del código estático y los datos en el archivo de módulo.