Freigeben über


UnmapViewOfFile-Funktion (memoryapi.h)

Hebt die Zuordnung einer zugeordneten Ansicht einer Datei aus dem Adressraum des aufrufenden Prozesses auf.

Syntax

BOOL UnmapViewOfFile(
  [in] LPCVOID lpBaseAddress
);

Parameter

[in] lpBaseAddress

Ein Zeiger auf die Basisadresse der zugeordneten Ansicht einer Datei, die nicht zugeordnet werden soll. Dieser Wert muss mit dem Wert identisch sein, der von einem vorherigen Aufruf einer der Funktionen in der MapViewOfFile-Familie zurückgegeben wurde.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Durch das Aufheben der Zuordnung einer zugeordneten Ansicht einer Datei wird der bereich ungültig, der von der Ansicht im Adressraum des Prozesses belegt wird, und stellt den Bereich für andere Zuordnungen zur Verfügung. Es entfernt den Arbeitssatzeintrag für jede nicht zugeordnete virtuelle Seite, die Teil des Arbeitssatzes des Prozesses war, und reduziert die Arbeitssatzgröße des Prozesses. Außerdem wird die Freigabeanzahl der entsprechenden physischen Seite erhöht.

Geänderte Seiten in der nicht zugeordneten Ansicht werden erst auf den Datenträger geschrieben, wenn ihre Freigabeanzahl 0 erreicht, d. h. bis sie nicht zugeordnet oder aus den Arbeitssätzen aller Prozesse gekürzt werden, die die Seiten gemeinsam nutzen. Selbst dann werden die geänderten Seiten "lazily" auf den Datenträger geschrieben; Das heißt, Änderungen können im Arbeitsspeicher zwischengespeichert und zu einem späteren Zeitpunkt auf den Datenträger geschrieben werden. Um das Risiko eines Datenverlusts bei einem Stromausfall oder Systemabsturz zu minimieren, sollten Anwendungen geänderte Seiten mithilfe der FlushViewOfFile-Funktion explizit leeren.

Obwohl eine Anwendung das Dateihandle zum Erstellen eines Dateizuordnungsobjekts schließen kann, hält das System die entsprechende Datei geöffnet, bis die letzte Ansicht der Datei nicht zugeordnet ist. Dateien, für die die letzte Ansicht noch nicht aufgehoben wurde, werden ohne Freigabeeinschränkungen geöffnet gehalten.

In Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Unterstützt
SMB 3.0-Protokoll (Server Message Block) Ja
SMB 3.0 Transparent Failover (TFO) Ja
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) Ja
Dateisystem mit freigegebenen Clustervolumes (CsvFS) Ja
Robustes Dateisystem (Resilient File System, ReFS) Ja
 

Beispiele

Ein Beispiel finden Sie unter Erstellen einer Ansicht in einer Datei.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile memoryapi.h (einschließlich Windows.h, Memoryapi.h)
Bibliothek onecore.lib
DLL Kernel32.dll

Siehe auch

Schließen eines Dateizuordnungsobjekts

Dateizuordnungsfunktionen

MapViewOfFile

MapViewOfFileEx

Speicherverwaltungsfunktionen