Fonction FreeUserPhysicalPages (memoryapi.h)
Libère les pages de mémoire physique qui sont allouées précédemment à l’aide de AllocateUserPhysicalPages ou d’AllocateUserPhysicalPagesNuma. Si l’une de ces pages est actuellement mappée dans la région Extensions de fenêtrage d’adresses (AWE), elle est automatiquement décochée par cet appel. Cela n’affecte pas l’espace d’adressage virtuel occupé par une région AWE (Address Windowing Extensions) spécifiée.
Windows 64 bits sur les systèmes Itanium : En raison de la différence de taille de page, FreeUserPhysicalPages n’est pas pris en charge pour les applications 32 bits.
Syntaxe
BOOL FreeUserPhysicalPages(
[in] HANDLE hProcess,
[in, out] PULONG_PTR NumberOfPages,
[in] PULONG_PTR PageArray
);
Paramètres
[in] hProcess
Handle d’un processus.
La fonction libère de la mémoire dans l’espace d’adressage virtuel de ce processus.
[in, out] NumberOfPages
Taille de la mémoire physique à libérer, en pages.
En retour, si la fonction échoue, ce paramètre indique le nombre de pages libérées.
[in] PageArray
Pointeur vers un tableau de numéros de trame de page de la mémoire allouée à libérer.
Valeur retournée
Si la fonction réussit, la valeur de retour est TRUE.
Si la fonction échoue, la valeur de retour est FALSE. Dans ce cas, le paramètre NumberOfPages reflète le nombre de pages réellement publiées. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Dans un environnement multiprocesseur, cette fonction maintient la cohérence de la mémoire tampon de traduction matérielle. Lorsque cette fonction retourne, tous les threads sur tous les processeurs sont garantis pour voir le mappage correct.
Pour compiler une application qui utilise cette fonction, définissez la macro _WIN32_WINNT comme 0x0500 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.
Exemples
Pour obtenir un exemple, consultez Exemple AWE.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | memoryapi.h (inclure Windows.h, Memoryapi.h) |
Bibliothèque | onecore.lib |
DLL | Kernel32.dll |