Condividi tramite


Funzione OfferVirtualMemory (memoryapi.h)

Indica che i dati contenuti in un intervallo di pagine di memoria non sono più necessari dall'applicazione e possono essere rimossi dal sistema, se necessario.

Le pagine specificate verranno contrassegnate come inaccessibili, rimosse dal set di lavoro del processo e non verranno scritte nel file di paging.

Per recuperare le pagine offerte successivamente, chiamare ReclaimVirtualMemory.

Sintassi

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

Parametri

[in] VirtualAddress

Indirizzo iniziale allineato alla pagina dell'offerta della memoria.

[in] Size

Dimensioni, in byte, dell'area di memoria da offrire. Le dimensioni devono essere un numero intero multiplo delle dimensioni della pagina di sistema.

[in] Priority

La priorità indica l'importanza della memoria offerta all'applicazione. Una priorità più alta aumenta la probabilità che la memoria offerta possa essere recuperata intatta quando si chiama ReclaimVirtualMemory. Il sistema rimuove in genere memoria con priorità inferiore prima di eliminare la memoria con priorità superiore. La priorità deve essere uno dei valori seguenti.

Valore Significato
VMOfferPriorityVeryLow
0x00000001
La memoria offerta è molto bassa e deve essere la prima eliminata.
VMOfferPriorityLow
0x00000002
La memoria offerta è bassa priorità.
VMOfferPriorityBelowNormal
0x00000003
La memoria offerta è inferiore alla priorità normale.
VMOfferPriorityNormal
0x00000004
La memoria offerta è di priorità normale per l'applicazione e deve essere l'ultima eliminazione.

Valore restituito

ERROR_SUCCESS se riuscito; un codice di errore di sistema in caso contrario.

Commenti

Per recuperare le pagine offerte, chiamare ReclaimVirtualMemory. I dati nelle pagine recuperate potrebbero essere stati eliminati, nel qual caso il contenuto dell'area di memoria non è definito e deve essere riscritto dall'applicazione.

Non chiamare OfferVirtualMemory per offrire memoria virtuale bloccata. In questo modo verrà sbloccato l'intervallo specificato di pagine.

Si noti che l'offerta e il recupero della memoria virtuale è simile all'uso dei flag di allocazione di MEM_RESET e MEM_RESET_UNDO memoria, ad eccezione del fatto che OfferVirtualMemory rimuove la memoria dal set di lavoro del processo e limita l'accesso alle pagine offerte fino a quando non vengono recuperate.

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1 Update [app desktop | App UWP]
Server minimo supportato Windows Server 2012 aggiornamento R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione memoryapi.h (includono Windows.h, Memoryapi.h)
Libreria onecore.lib
DLL Kernel32.dll

Vedere anche

RimuoviVirtualMemory

Funzioni di gestione della memoria

RecuperaVirtualMemory

Funzioni di memoria virtuale

Virtualalloc

Virtualfree

VirtualLock

VirtualQuery