SetEndOfFile-Funktion (fileapi.h)
Legt die physische Dateigröße für die angegebene Datei auf die aktuelle Position des Dateizeigers fest.
Die physische Dateigröße wird auch als Ende der Datei bezeichnet. Die SetEndOfFile-Funktion kann zum Abschneiden oder Erweitern einer Datei verwendet werden. Um das logische Ende einer Datei festzulegen, verwenden Sie die SetFileValidData-Funktion .
Syntax
BOOL SetEndOfFile(
[in] HANDLE hFile
);
Parameter
[in] hFile
Ein Handle für die Datei, die erweitert oder abgeschnitten werden soll.
Das Dateihandle muss mit dem Zugriffsrecht GENERIC_WRITE erstellt werden. Weitere Informationen finden Sie unter Dateisicherheit und Zugriffsrechte.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (null). Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Die SetEndOfFile-Funktion kann zum Abschneiden oder Erweitern einer Datei verwendet werden. Wenn die Datei erweitert wird, ist der Inhalt der Datei zwischen dem alten Ende der Datei und dem neuen Ende der Datei nicht definiert.
Jeder Dateistream weist Folgendes auf:
- Dateigröße: Die Größe der Daten in einer Datei bis zum Byte.
- Zuordnungsgröße: Die Größe des Speicherplatzes, der für eine Datei auf einem Datenträger zugewiesen wird, die immer ein gerades Vielfaches der Clustergröße ist.
- Gültige Datenlänge: Die Länge der Daten in einer Datei, die tatsächlich in das Byte geschrieben wird. Dieser Wert ist immer kleiner oder gleich der Dateigröße.
If
CreateFileMapping wird aufgerufen, um ein Dateizuordnungsobjekt für hFile zu erstellen. UnmapViewOfFile muss zuerst aufgerufen werden, um die Zuordnung aller Ansichten aufzuheben und CloseHandle aufzurufen, um das Dateizuordnungsobjekt zu schließen, bevor Sie SetEndOfFile aufrufen können.
Transaktionierte Vorgänge
Ist an das Handle eine Transaktion gebunden, ist die Änderung am Dateiende transaktiv.Unter Windows 8 und 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 |
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 | fileapi.h (Einschließen von Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |