Condividi tramite


Funzione GetFileSize (fileapi.h)

Recupera le dimensioni del file specificato, in byte.

È consigliabile usare GetFileSizeEx.

Sintassi

DWORD GetFileSize(
  [in]            HANDLE  hFile,
  [out, optional] LPDWORD lpFileSizeHigh
);

Parametri

[in] hFile

Handle per il file.

[out, optional] lpFileSizeHigh

Puntatore alla variabile in cui viene restituita la doppia parola doppia dell'ordine elevato della dimensione del file. Questo parametro può essere NULL se l'applicazione non richiede la parola doppia ordine elevato.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è la doppia parola doppia in ordine basso delle dimensioni del file e, se lpFileSizeHigh è diverso da NULL, la funzione inserisce la doppia parola doppia dell'ordine elevato della dimensione del file nella variabile a cui punta tale parametro.

Se la funzione ha esito negativo e lpFileSizeHigh è NULL, il valore restituito è INVALID_FILE_SIZE. Per informazioni dettagliate sull'errore, chiamare GetLastError. Quando lpFileSizeHigh è NULL, i risultati restituiti per file di grandi dimensioni sono ambigui e non sarà possibile determinare le dimensioni effettive del file. È consigliabile usare invece GetFileSizeEx .

Se la funzione ha esito negativo e lpFileSizeHigh è diverso da NULL, il valore restituito è INVALID_FILE_SIZE e GetLastError restituirà un valore diverso da NO_ERROR.

Commenti

Non è possibile usare la funzione GetFileSize con un handle di un dispositivo non visualizzante, ad esempio una pipe o un dispositivo di comunicazione. Per determinare il tipo di file per hFile, usare la funzione GetFileType .

La funzione GetFileSize recupera le dimensioni non compresse di un file. Utilizzare la funzione GetCompressedFileSize per ottenere le dimensioni compresse di un file.

Si noti che se il valore restituito è INVALID_FILE_SIZE (0xffffffff), un'applicazione deve chiamare GetLastError per determinare se la funzione ha avuto esito positivo o negativo. Il motivo per cui la funzione potrebbe non riuscire quando non è che lpFileSizeHigh potrebbe essere diverso da NULL o la dimensione del file potrebbe essere 0xffffffff. In questo caso, GetLastError restituirà NO_ERROR (0) al termine dell'operazione. A causa di questo comportamento, è consigliabile usare invece GetFileSizeEx .

Operazioni transazionate: Se è presente una transazione associata all'handle di file, la funzione restituisce informazioni per la visualizzazione file isolata.

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)
 

Esempi

Per un esempio, vedere Creazione di una visualizzazione all'interno di un file.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione fileapi.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzioni di gestione file

GetCompressedFileSize

GetFileSizeEx

GetFileType