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


Функция ReclaimVirtualMemory (memoryapi.h)

Освобождает диапазон страниц памяти, которые были предложены системе с помощью OfferVirtualMemory.

Если предлагаемая память была удалена, содержимое области памяти не определено и должно быть перезаписано приложением. Если предлагаемая память не была удалена, она восстанавливается без изменений.

Синтаксис

DWORD ReclaimVirtualMemory(
  [in] void const *VirtualAddress,
  [in] SIZE_T     Size
);

Параметры

[in] VirtualAddress

Выровненный по страницам начальный адрес памяти для восстановления.

[in] Size

Размер области памяти для восстановления (в байтах). Размер должен быть целым числом, кратным размеру системной страницы.

Возвращаемое значение

Возвращает ERROR_SUCCESS, если память была восстановлена без изменений.

Возвращает ERROR_BUSY в случае успешного выполнения, но память была удалена и должна быть перезаписана приложением. В этом случае содержимое области памяти не определено.

В противном случае возвращает код системной ошибки .

Комментарии

Восстановленные страницы памяти могут использоваться приложением и записываются в системный файл подкачки, если происходит разбиение по страницам.

Если функция возвращает ERROR_SUCCESS, данные на восстановленных страницах являются допустимыми. Если функция возвращает ERROR_BUSY, данные на освобожденных страницах были удалены системой и больше не являются допустимыми. По этой причине память должна предоставляться системе только в том случае, если приложению не нужны или могут повторно создаваться данные.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1 с обновлением [классические приложения | Приложения UWP]
Минимальная версия сервера обновление Windows Server 2012 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header memoryapi.h (включая Windows.h, Memoryapi.h)
Библиотека onecore.lib
DLL Kernel32.dll

См. также

Функции управления памятью

OfferVirtualMemory

Функции виртуальной памяти

VirtualAlloc

VirtualFree

VirtualLock

VirtualQuery