Partager via


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

Voir aussi

Extensions de fenêtrage d’adresses

AllocateUserPhysicalPages

AllocateUserPhysicalPagesNuma

MapUserPhysicalPages

MapUserPhysicalPagesScatter

Fonctions de gestion de la mémoire