Funzione SetEndOfFile (fileapi.h)
Imposta le dimensioni fisiche del file per il file specificato sulla posizione corrente del puntatore al file.
Le dimensioni fisiche del file vengono definite anche come fine del file. La funzione SetEndOfFile può essere usata per troncare o estendere un file. Per impostare la fine logica di un file, usare la funzione SetFileValidData .
Sintassi
BOOL SetEndOfFile(
[in] HANDLE hFile
);
Parametri
[in] hFile
Handle per il file da estendere o troncare.
L'handle di file deve essere creato con il diritto di accesso GENERIC_WRITE . Per altre informazioni, vedere Protezione dei file e diritti di accesso.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero (0). Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
La funzione SetEndOfFile può essere usata per troncare o estendere un file. Se il file viene esteso, il contenuto del file tra la fine precedente del file e la nuova fine del file non vengono definiti.
Ogni flusso di file include quanto segue:
- Dimensioni del file: dimensioni dei dati in un file, al byte.
- Dimensioni allocazione: dimensioni dello spazio allocato per un file su un disco, che è sempre un multiplo pari delle dimensioni del cluster.
- Lunghezza dei dati valida: lunghezza dei dati in un file effettivamente scritto, nel byte. Questo valore è sempre minore o uguale alle dimensioni del file.
Se
CreateFileMapping viene chiamato per creare un oggetto di mapping di file per hFile, è necessario chiamare UnmapViewOfFile per annullare il mapping di tutte le visualizzazioni e chiamare CloseHandle per chiudere l'oggetto di mapping dei file prima di poter chiamare SetEndOfFile.
Operazioni transazionate
Se è presente una transazione associata all'handle, viene eseguita la modifica nella posizione end-of-file.In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | Sì |
File system del volume condiviso cluster (CsvFS) | Sì |
Resilient File System (ReFS) | Sì |
Requisiti
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | fileapi.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |