ZwFlushVirtualMemory-Funktion (ntifs.h)
Die ZwFlushVirtualMemory-Routine löscht einen Bereich von virtuellen Adressen innerhalb des virtuellen Adressraums eines angegebenen Prozesses, der einer Datendatei zugeordnet wird, wenn sie geändert wurden.
Syntax
NTSYSAPI NTSTATUS ZwFlushVirtualMemory(
[in] HANDLE ProcessHandle,
[in, out] PVOID *BaseAddress,
[in, out] PSIZE_T RegionSize,
[out] PIO_STATUS_BLOCK IoStatus
);
Parameter
[in] ProcessHandle
Ein geöffnetes Handle für den Prozess, in dessen Kontext sich die zu leerenden Seiten befinden. Verwenden Sie das in Ntddk.h definierte NtCurrentProcess-Makro , um den aktuellen Prozess anzugeben.
[in, out] BaseAddress
Ein Zeiger auf die Basisadresse des virtuellen Adressbereichs.
Bei der Eingabe gibt dieser Parameter einen Zeiger auf den Anfangswert der Basisadresse des Bereichs der zu leerenden Seiten an.
Bei der Rückgabe stellt dieser Parameter einen Zeiger auf eine Variable bereit, die die Basisadresse des geleerten Bereichs empfängt.
[in, out] RegionSize
Die Größe des virtuellen Adressbereichs in Bytes.
Bei der Eingabe gibt dieser Parameter einen Zeiger auf den Anfangswert der Größe in Byte des Bereichs von Seiten an, der auf den Datenträger geleert werden soll. Dieses Argument wird durch die ZwFlushVirtualMemory auf die nächste Hostseitengrößengrenze aufgerundet. Wenn dieser Wert als null angegeben wird, wird der zugeordnete Bereich von der Basisadresse bis zum Ende des Bereichs geleert.
Bei der Rückgabe gibt dieser Parameter einen Zeiger auf eine Variable an, die die tatsächliche Größe des geleerten Seitenbereichs in Byte empfängt.
[out] IoStatus
Ein Zeiger auf eine IO_STATUS_BLOCK-Struktur . In dieser Struktur wird der Wert des E/A-status für den letzten E/A-Vorgang in der Ausgabe gespeichert.
Rückgabewert
ZwFlushVirtualMemory gibt entweder STATUS_SUCCESS oder einen Fehler status Code zurück. Mögliche Fehler status Codes:
Rückgabecode | Beschreibung |
---|---|
STATUS_ACCESS_DENIED | Der angegebene ProcessHandle-Parameter war kein gültiges Prozesshandle. |
STATUS_INSUFFICIENT_RESOURCES | Zusätzliche Ressourcen, die für diese Funktion erforderlich waren, waren nicht verfügbar. |
STATUS_INVALID_PARAMETER_2 | Die angegebene BaseAddress war eine ungültige Adresse innerhalb des virtuellen Adressraums, oder die RegionSize war ungültig. |
STATUS_INVALID_HANDLE | Der angegebene ProcessHandle-Parameter war kein gültiges Prozesshandle. |
STATUS_NOT_MAPPED_VIEW | Für die angegebene BaseAddress konnte kein virtueller Adressraumdeskriptor gefunden werden. |
STATUS_PROCESS_IS_TERMINATING | Der Prozess und der zugeordnete virtuelle Adressraum wurden gelöscht. |
STATUS_FILE_LOCK_CONFLICT | Im Dateisystem ist ein Sperrkonflikt aufgetreten. |
Hinweise
Diese Routine akzeptiert als Eingabeparameter einen Adressbereich im virtuellen Speicher, der eine Datendatei ordnet. Wenn arbeitsspeicher in diesem Bereich geändert wurde, seit die Datei in den Arbeitsspeicher kopiert wurde, leert die Routine diesen Speicher wieder in die Datendatei.
Weitere Informationen zur Unterstützung der Speicherverwaltung für Kernelmodustreiber finden Sie unter Arbeitsspeicherverwaltung für Windows-Treiber.
Hinweis
Wenn der Aufruf der ZwFlushVirtualMemory-Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtFlushVirtualMemory" anstelle von "ZwFlushVirtualMemory" verwenden.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienstroutinen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP |
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für