Поделиться через


Структура 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)

См. также раздел

GlobalMemoryStatus

GlobalMemoryStatusEx

Сведения о производительности памяти