FreeUserPhysicalPages-Funktion (memoryapi.h)
Gibt physische Speicherseiten frei, die zuvor mithilfe von AllocateUserPhysicalPages oder AllocateUserPhysicalPagesNuma zugeordnet wurden. Wenn eine dieser Seiten derzeit im Bereich Adressfenstererweiterungen (Address Windowing Extensions , AWE) zugeordnet ist, werden sie durch diesen Aufruf automatisch aufgehoben. Dies wirkt sich nicht auf den virtuellen Adressraum aus, der von einer angegebenen AWE-Region (Address Windowing Extensions) belegt wird.
64-Bit-Windows auf Itanium-basierten Systemen: Aufgrund der unterschiedlichen Seitengrößen wird FreeUserPhysicalPages für 32-Bit-Anwendungen nicht unterstützt.
Syntax
BOOL FreeUserPhysicalPages(
[in] HANDLE hProcess,
[in, out] PULONG_PTR NumberOfPages,
[in] PULONG_PTR PageArray
);
Parameter
[in] hProcess
Das Handle für einen Prozess.
Die Funktion gibt Arbeitsspeicher innerhalb des virtuellen Adressraums dieses Prozesses frei.
[in, out] NumberOfPages
Die Größe des freizugebenden physischen Speichers in Seiten.
Wenn die Funktion bei der Rückgabe fehlschlägt, gibt dieser Parameter die Anzahl der freizugebenden Seiten an.
[in] PageArray
Ein Zeiger auf ein Array von Seitenrahmennummern des zugeordneten Speichers, der freigegeben werden soll.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.
Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE. In diesem Fall gibt der Parameter NumberOfPages an, wie viele Seiten tatsächlich freigegeben wurden. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
In einer Multiprozessorumgebung behält diese Funktion die Kohärenz des Hardwareübersetzungspuffers bei. Wenn diese Funktion zurückgibt, wird für alle Threads auf allen Prozessoren garantiert die richtige Zuordnung angezeigt.
Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie das makro _WIN32_WINNT als 0x0500 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.
Beispiele
Ein Beispiel finden Sie unter AWE-Beispiel.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | memoryapi.h (einschließlich Windows.h, Memoryapi.h) |
Bibliothek | onecore.lib |
DLL | Kernel32.dll |