Функция OfferVirtualMemory (memoryapi.h)
Указывает, что данные, содержащиеся в диапазоне страниц памяти, больше не нужны приложению и могут быть удалены системой при необходимости.
Указанные страницы будут помечены как недоступные, удалены из рабочего набора процесса и не будут записаны в файл подкачки.
Чтобы позже освободить предлагаемые страницы, вызовите ReclaimVirtualMemory.
Синтаксис
DWORD OfferVirtualMemory(
[in] PVOID VirtualAddress,
[in] SIZE_T Size,
[in] OFFER_PRIORITY Priority
);
Параметры
[in] VirtualAddress
Выровненный по страницам начальный адрес предлагаемой памяти.
[in] Size
Размер (в байтах) области памяти для предложения. Размер должен быть целым числом, кратным размеру системной страницы.
[in] Priority
Приоритет указывает, насколько важна предлагаемая память для приложения. Более высокий приоритет увеличивает вероятность того, что предлагаемая память может быть восстановлена без изменений при вызове ReclaimVirtualMemory. Система обычно удаляет память с более низким приоритетом перед удалением памяти с более высоким приоритетом. Приоритет должен иметь одно из следующих значений.
Возвращаемое значение
ERROR_SUCCESS в случае успешного выполнения; в противном случае — код системной ошибки .
Комментарии
Чтобы освободить предложенные страницы, вызовите ReclaimVirtualMemory. Возможно, данные на освобожденных страницах были удалены. В этом случае содержимое области памяти не определено и должно быть перезаписано приложением.
Не вызывайте OfferVirtualMemory , чтобы предложить заблокированную виртуальную память. Это приведет к разблокировке указанного диапазона страниц.
Обратите внимание, что предложение и освобождение виртуальной памяти аналогично использованию флагов выделения MEM_RESET и MEM_RESET_UNDO памяти, за исключением того, что OfferVirtualMemory удаляет память из рабочего набора процесса и ограничивает доступ к предлагаемым страницам до тех пор, пока они не будут освобождены.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8.1 с обновлением [классические приложения | Приложения UWP] |
Минимальная версия сервера | обновление Windows Server 2012 R2 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | memoryapi.h (включая Windows.h, Memoryapi.h) |
Библиотека | onecore.lib |
DLL | Kernel32.dll |