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 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
Fonctions de gestion de la mémoire