Freigeben über


Leeren System-Buffered E/A-Daten auf Datenträger

Windows speichert die Daten in Dateilese- und Schreibvorgängen in vom System verwalteten Datenpuffern, um die Datenträgerleistung zu optimieren. Wenn eine Anwendung in eine Datei schreibt, puffert das System die Daten normalerweise und schreibt die Daten regelmäßig auf den Datenträger. Eine Anwendung kann das Betriebssystem erzwingen, den Inhalt dieser Datenpuffer mithilfe der FlushFileBuffers-Funktion auf den Datenträger zu schreiben. Alternativ kann eine Anwendung angeben, dass Schreibvorgänge den Datenpuffer umgehen und direkt auf den Datenträger schreiben sollen, indem sie das FILE_FLAG_NO_BUFFERING-Flag festlegen, wenn die Datei mit der CreateFile-Funktion erstellt oder geöffnet wird.

Wenn sich daten im internen Puffer befinden, wenn die Datei geschlossen wird, schreibt das Betriebssystem den Inhalt des Puffers nicht automatisch auf den Datenträger, bevor die Datei geschlossen wird. Wenn die Anwendung nicht erzwingt, dass das Betriebssystem den Puffer vor dem Schließen der Datei auf den Datenträger schreibt, bestimmt der Zwischenspeicherungsalgorithmus, wann der Puffer geschrieben wird.

Hinweis

Der Zugriff auf einen Datenpuffer während eines Lese- oder Schreibvorgangs kann den Puffer beschädigen. Anwendungen dürfen den Datenpuffer, den ein Lese- oder Schreibvorgang verwendet, nicht auslesen, schreiben, neu zuweisen oder freigeben, bis der Vorgang abgeschlossen ist.