Структура MEMORYSTATUS (winbase.h)
Содержит сведения о текущем состоянии физической и виртуальной памяти. Функция GlobalMemoryStatus хранит сведения в структуре MEMORYSTATUS .
Синтаксис
typedef struct _MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
SIZE_T dwTotalPhys;
SIZE_T dwAvailPhys;
SIZE_T dwTotalPageFile;
SIZE_T dwAvailPageFile;
SIZE_T dwTotalVirtual;
SIZE_T dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;
Члены
dwLength
Размер структуры данных MEMORYSTATUS в байтах. Не нужно задавать этот элемент перед вызовом функции GlobalMemoryStatus ; функция задает его.
dwMemoryLoad
Число от 0 до 100, указывающее приблизительный процент используемой физической памяти (0 означает, что память не используется, а 100 — полное использование памяти).
dwTotalPhys
Объем фактической физической памяти в байтах.
dwAvailPhys
Объем доступной физической памяти в байтах. Это объем физической памяти, который можно использовать сразу же повторно, не записывая его содержимое на диск. Это сумма размера резервных, бесплатных и нулевых списков.
dwTotalPageFile
Текущий размер зафиксированного ограничения памяти в байтах. Это физическая память плюс размер файла подкачки, минус небольшие издержки.
dwAvailPageFile
Максимальный объем памяти, который может зафиксировать текущий процесс, в байтах. Это значение должно быть меньше доступной для всей системы фиксации. Чтобы вычислить это значение, вызовите Метод GetPerformanceInfo и вычтите значение CommitTotal из CommitLimit.
dwTotalVirtual
Размер части пользовательского режима виртуального адресного пространства вызывающего процесса в байтах. Это значение зависит от типа процесса, типа процессора и конфигурации операционной системы. Например, это значение равно приблизительно 2 ГБ для большинства 32-разрядных процессов на процессоре x86 и приблизительно 3 ГБ для 32-разрядных процессов, которые поддерживают большие адреса, работающих в системе с включенной настройкой ОЗУ 4 GT.
dwAvailVirtual
Объем незарезервированного и незафиксированного объема памяти, который в настоящее время находится в пользовательском режиме в виртуальном адресном пространстве вызывающего процесса в байтах.
Комментарии
MEMORYSTATUS отражает состояние памяти во время вызова. Он также отражает размер файла подкачки в то время. Операционная система может увеличить файл подкачки до максимального размера, установленного администратором.
На компьютерах с более чем 4 ГБ памяти структура MEMORYSTATUS может возвращать неверные сведения, сообщая значение –1, указывающее на переполнение. Если ваше приложение находится под угрозой такого поведения, используйте функцию GlobalMemoryStatusEx вместо функции GlobalMemoryStatus .
Примеры
Пример см. в разделе Функция GlobalMemoryStatus .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winbase.h (включая Windows.h) |