ProcessModule.ModuleMemorySize Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объем памяти, необходимый для загрузки модуля.
public:
property int ModuleMemorySize { int get(); };
public int ModuleMemorySize { get; }
member this.ModuleMemorySize : int
Public ReadOnly Property ModuleMemorySize As Integer
Значение свойства
Размер памяти (в байтах), необходимый для модуля.
Примеры
Приведенный ниже пример кода создает процесс для приложения Notepad.exe. Код выполняет итерацию по классу ProcessModuleCollection с целью получения объекта ProcessModule для каждого модуля в коллекции. Свойства ModuleName и ModuleMemorySize используются для вывода имени модуля и объема памяти, необходимой для каждого модуля.
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( "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( "{0} : {1}", myProcessModule->ModuleName, myProcessModule->ModuleMemorySize );
}
myProcessModule = myProcess->MainModule;
// Display the 'ModuleMemorySize' of the main module.
Console::WriteLine( "The process's main module's ModuleMemorySize is: {0}", myProcessModule->ModuleMemorySize );
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("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
Комментарии
Свойство ModuleMemorySize не возвращает дополнительные выделения памяти, исходящие от модуля во время выполнения. Оно возвращает только размер статического кода и данных в файле модуля.