Структура TMemoryStatus позволяет получить информацию про текущее состояние физической и виртуальной памяти. Функция GlobalMemoryStatus позволяет получить информацию в данной структуре TMemoryStatus.
TMemoryStatus = record
dwLength: DWORD;
dwMemoryLoad: DWORD;
dwTotalPhys: DWORD;
dwAvailPhys: DWORD;
dwTotalPageFile: DWORD;
dwAvailPageFile: DWORD;
dwTotalVirtual: DWORD;
dwAvailVirtual: DWORD;
end;
Поля
dwLength
Размер в байтах структуры TMemoryStatus. Вы не должны устанавливать это поле
перед вызовом GlobalMemoryStatus, поскольку
функция сделает это сама.1
dwMemoryLoad
Windows NT 4 и более ранние версии: показывает приблизительную загрузку
последних 1000 страниц в памяти, которые использовались.
Windows 2000: показывает загрузку всех старниц памяти, которые
использовались.
dwTotalPhys
Общий размер в байтах физической памяти.
dwAvailPhys
Размер в байтах доступной физической памяти.
dwTotalPageFile
Размер в байтах файла подкачки. Заметьте, что это значение не отображает
реальный размер, который может занмать файл поодкачки на диске.
dwAvailPageFile
Количество свободного пространства в файле подкачки. Операционная система может
расширять время от времени файл подкачки. Поле dwAvailPageFile показывает
только разность между используемой памятью и общим текущим размером файла
подкачки, но при этом не показывается максимально возможный размер файла
подкачки.
dwTotalVirtual
Указывает на общий размер виртуального адресного пространства, доступный
процессу.
dwAvailVirtual
Указывает на незарезервированные фрагменты виртуального адресного пространства,
доступные вызывающему процессу.
Описание
В структуре TMemoryStatus отображается информация о памяти на момент вызова. Она также отображает состояние файла подкачки на момент вызова. Надо учитывать то обстоятельство, чтооперационная система может увеличитьразмер файла подкачки до размера, указанного администратором.
Если оперативная память компьютера превышает 4 Гб, то функция GetMemoryStatus вернет искаженную информацию. На платформе Windows 2000 возвращаемым значением будет -1, что сигнализирует об переполении. Более ранние версии Windows NT вернут в этом случае значение, которое в действительности будет остатком от деления общего количества памяти на 4 Гб. Для этой цели в Windows 2000 необходимо использовать функцию GlobalMemoryStatusEx.
Требования
Windows NT/2000: Требуется Windows NT 3.1 или более поздняя версия
Windows 95/98: Требуется Windows 95 или более поздняя версия
Бибиотека: Kernel32.dll
Подключаемый модуль: Windows
Смотри также:
TMemoryBasicInformation |
TMemoryStatusEx![]() |
© Mystic, 2002
1) В книге Джеффри Рихтера "Windows для профессионалов" (3-е издание) указано, что необходимо обязательно заполнять поле dwLength значением размера структуры. Это не обязательно, хотя такое поведении функции довольнр необычно.