Compartir a través de


Función OfferVirtualMemory (memoryapi.h)

Indica que la aplicación ya no necesita los datos contenidos en un intervalo de páginas de memoria y que el sistema puede descartarlos si es necesario.

Las páginas especificadas se marcarán como inaccesibles, se quitarán del conjunto de trabajo del proceso y no se escribirán en el archivo de paginación.

Para reclamar más adelante las páginas ofrecidas, llame a ReclaimVirtualMemory.

Sintaxis

DWORD OfferVirtualMemory(
  [in] PVOID          VirtualAddress,
  [in] SIZE_T         Size,
  [in] OFFER_PRIORITY Priority
);

Parámetros

[in] VirtualAddress

Dirección inicial alineada con la página de la memoria que se va a ofrecer.

[in] Size

Tamaño, en bytes, de la región de memoria que se va a ofrecer. El tamaño debe ser un entero múltiplo del tamaño de página del sistema.

[in] Priority

Priority indica la importancia que la memoria ofrecida es para la aplicación. Una prioridad más alta aumenta la probabilidad de que la memoria ofrecida se pueda reclamar intacta al llamar a ReclaimVirtualMemory. Normalmente, el sistema descarta la memoria de prioridad más baja antes de descartar la memoria de mayor prioridad. La prioridad debe ser uno de los valores siguientes.

Valor Significado
VMOfferPriorityVeryLow
0x00000001
La memoria ofrecida es muy baja y debe ser la primera descartada.
VMOfferPriorityLow
0x00000002
La memoria ofrecida es de prioridad baja.
VMOfferPriorityBelowNormal
0x00000003
La memoria ofrecida está por debajo de la prioridad normal.
VMOfferPriorityNormal
0x00000004
La memoria ofrecida es de prioridad normal para la aplicación y debe ser la última descartada.

Valor devuelto

ERROR_SUCCESS si se realiza correctamente; Un código de error del sistema de lo contrario.

Comentarios

Para reclamar páginas ofrecidas, llame a ReclaimVirtualMemory. Es posible que los datos de las páginas reclamadas se hayan descartado, en cuyo caso el contenido de la región de memoria no está definido y la aplicación debe volver a escribirlos.

No llame a OfferVirtualMemory para ofrecer memoria virtual bloqueada. Al hacerlo, se desbloqueará el intervalo de páginas especificado.

Tenga en cuenta que ofrecer y reclamar memoria virtual es similar al uso de las marcas de asignación de memoria MEM_RESET y MEM_RESET_UNDO, excepto que OfferVirtualMemory quita la memoria del conjunto de trabajo del proceso y restringe el acceso a las páginas ofrecidas hasta que se reclaman.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.1 Update [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible actualización de Windows Server 2012 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado memoryapi.h (incluya Windows.h, Memoryapi.h)
Library onecore.lib
Archivo DLL Kernel32.dll

Vea también

DiscardVirtualMemory

Funciones de administración de memoria

ReclaimVirtualMemory

Funciones de memoria virtual

VirtualAlloc

VirtualFree

VirtualLock

VirtualQuery