Dateizeiger
Wenn eine Datei geöffnet wird, ordnet Windows dem Standarddatenstrom einen Dateizeiger zu. Dieser Dateizeiger ist ein 64-Bit-Offsetwert, der das nächste zu lesende Byte oder den Speicherort angibt, an dem das nächste geschriebene Byte empfangen wird. Jedes Mal, wenn eine Datei geöffnet wird, platziert das System den Dateizeiger am Anfang der Datei, der offset null ist. Jeder Lese- und Schreibvorgang wechselt zum Dateizeiger um die Anzahl der Bytes, die gelesen und geschrieben werden. Wenn sich der Dateizeiger beispielsweise am Anfang der Datei befindet und ein Lesevorgang von 5 Byte angefordert wird, befindet sich der Dateizeiger unmittelbar nach dem Lesevorgang am Offset 5. Da jedes Byte gelesen oder geschrieben wird, wird der Dateizeiger vom System weiter ausgeführt. Der Dateizeiger kann auch durch Aufrufen der SetFilePointer--Funktion neu positioniert werden.
Wenn der Dateizeiger das Ende einer Datei erreicht und die Anwendung versucht, aus der Datei zu lesen, tritt kein Fehler auf, aber es werden keine Bytes gelesen. Daher bedeutet das Lesen von Nullbytes ohne Fehler, dass die Anwendung das Ende der Datei erreicht hat. Das Schreiben von Nullbytes bewirkt nichts.
Eine Anwendung kann eine Datei mithilfe der SetEndOfFile--Funktion abschneiden oder erweitern. Diese Funktion legt das Ende der Datei auf die aktuelle Position des Dateizeigers fest.