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.
La funzione SetEndOfFile imposta le dimensioni del file. Utilizzare SetFileValidData per impostare la lunghezza dei dati valida.

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
Failover trasparente SMB 3.0 (TFO)
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO)
File system del volume condiviso cluster (CsvFS)
Resilient File System (ReFS)

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

Vedere anche

Closehandle

CreateFile

CreateFileMapping

Funzioni di gestione file

SetFileInformationByHandle

SetFileValidData

UnmapViewOfFile