Fonction OfferVirtualMemory (memoryapi.h)

Indique que les données contenues dans une plage de pages de mémoire ne sont plus nécessaires par l’application et peuvent être ignorées par le système si nécessaire.

Les pages spécifiées sont marquées comme inaccessibles, supprimées du jeu de travail du processus et ne sont pas écrites dans le fichier de pagination.

Pour récupérer ultérieurement les pages proposées, appelez ReclaimVirtualMemory.

Syntaxe

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

Paramètres

[in] VirtualAddress

Adresse de départ alignée sur la page de la mémoire à offrir.

[in] Size

Taille, en octets, de la région de mémoire à offrir. La taille doit être un multiple entier de la taille de la page système.

[in] Priority

La priorité indique l’importance de la mémoire offerte pour l’application. Une priorité plus élevée augmente la probabilité que la mémoire offerte puisse être récupérée intacte lors de l’appel de ReclaimVirtualMemory. Le système ignore généralement la mémoire de priorité inférieure avant d’ignorer la mémoire de priorité supérieure. La priorité doit être l’une des valeurs suivantes.

Valeur Signification
VMOfferPriorityVeryLow
0x00000001
La mémoire proposée est de très faible priorité et doit être la première ignorée.
VMOfferPriorityLow
0x00000002
La mémoire proposée est de faible priorité.
VMOfferPriorityBelowNormal
0x00000003
La mémoire offerte est en dessous de la priorité normale.
VMOfferPriorityNormal
0x00000004
La mémoire offerte est de priorité normale pour l’application et doit être la dernière ignorée.

Valeur retournée

ERROR_SUCCESS en cas de réussite ; un code d’erreur système dans le cas contraire.

Remarques

Pour récupérer les pages proposées, appelez ReclaimVirtualMemory. Les données des pages récupérées peuvent avoir été ignorées, auquel cas le contenu de la région de mémoire n’est pas défini et doit être réécrit par l’application.

N’appelez pas OfferVirtualMemory pour offrir une mémoire virtuelle verrouillée. Cela déverrouille la plage de pages spécifiée.

Notez que l’offre et la récupération de la mémoire virtuelle sont similaires à l’utilisation des indicateurs d’allocation de mémoire MEM_RESET et MEM_RESET_UNDO, sauf qu’OfferVirtualMemory supprime la mémoire du jeu de travail du processus et limite l’accès aux pages proposées jusqu’à ce qu’elles soient récupérées.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Mise à jour Windows 8.1 [applications de bureau | Applications UWP]
Serveur minimal pris en charge mise à jour Windows Server 2012 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête memoryapi.h (inclure Windows.h, Memoryapi.h)
Bibliothèque onecore.lib
DLL Kernel32.dll

Voir aussi

DiscardVirtualMemory

Fonctions de gestion de la mémoire

ReclaimVirtualMemory

Fonctions de mémoire virtuelle

VirtualAlloc

VirtualFree

VirtualLock

VirtualQuery