Funzione GetVolumeInformationByHandleW (fileapi.h)
Recupera informazioni sul file system e sul volume associati al file specificato.
Per recuperare lo stato di compressione corrente di un file o di una directory, usare FSCTL_GET_COMPRESSION.
Sintassi
BOOL GetVolumeInformationByHandleW(
[in] HANDLE hFile,
[out, optional] LPWSTR lpVolumeNameBuffer,
[in] DWORD nVolumeNameSize,
[out, optional] LPDWORD lpVolumeSerialNumber,
[out, optional] LPDWORD lpMaximumComponentLength,
[out, optional] LPDWORD lpFileSystemFlags,
[out, optional] LPWSTR lpFileSystemNameBuffer,
[in] DWORD nFileSystemNameSize
);
Parametri
[in] hFile
Handle per il file.
[out, optional] lpVolumeNameBuffer
Puntatore a un buffer che riceve il nome di un volume specificato. La dimensione massima del buffer è MAX_PATH+1
.
[in] nVolumeNameSize
Lunghezza di un buffer dei nomi di volume, in WCHARs. La dimensione massima del buffer è MAX_PATH+1
.
Questo parametro viene ignorato se il buffer dei nomi del volume non viene fornito.
[out, optional] lpVolumeSerialNumber
Puntatore a una variabile che riceve il numero di serie del volume.
Questo parametro può essere NULL se il numero di serie non è obbligatorio.
Questa funzione restituisce il numero di serie del volume assegnato dal sistema operativo quando viene formattato un disco rigido. Per ottenere a livello di codice il numero di serie del disco rigido assegnato dal produttore, utilizzare la proprietà Strumentazione gestione Windows (WMI) Win32_PhysicalMediaserialNumber.
[out, optional] lpMaximumComponentLength
Puntatore a una variabile che riceve la lunghezza massima, in WCHARs, di un componente del nome file supportato da un file system specificato.
Un componente nome file è la parte di un nome file tra le barre rovesciata.
Il valore archiviato nella variabile a cui *lpMaximumComponentLength punta viene usato per indicare che un file system specificato supporta nomi lunghi. Ad esempio, per un file system FAT che supporta nomi lunghi, la funzione archivia il valore 255, anziché l'indicatore 8.3 precedente. I nomi lunghi possono essere supportati anche nei sistemi che usano il file system NTFS.
[out, optional] lpFileSystemFlags
Puntatore a una variabile che riceve i flag associati al file system specificato.
Questo parametro può essere uno o più dei flag seguenti. Tuttavia, FILE_FILE_COMPRESSION e FILE_VOL_IS_COMPRESSED si escludono a vicenda.
Valore | Significato |
---|---|
|
Il volume specificato supporta nomi di file con distinzione tra maiuscole e minuscole. |
|
Il volume specificato supporta la combinazione di maiuscole e minuscole dei nomi di file quando inserisce un nome su disco. |
|
Il volume specificato supporta Unicode nei nomi di file così come vengono visualizzati su disco. |
|
Il volume specificato mantiene e applica gli elenchi di controllo di accesso (ACL). Ad esempio, il file system NTFS mantiene e applica gli ACL e il file system FAT non lo fa. |
|
Il volume specificato supporta la compressione basata su file. |
|
Il volume specificato supporta le quote del disco. |
|
Il volume specificato supporta file di tipo sparse. |
|
Il volume specificato supporta la ripetizione dell'analisi dei punti. |
|
Il volume specificato è un volume compresso, ad esempio un volume DoubleSpace. |
|
Il volume specificato supporta gli identificatori di oggetto. |
|
Il volume specificato supporta il file system crittografato (EFS). Per altre informazioni, vedere Crittografia file. |
|
Il volume specificato supporta flussi denominati. |
|
Il volume specificato è di sola lettura. |
|
Il volume specificato supporta una singola scrittura sequenziale. |
|
Il volume specificato supporta le transazioni. Per altre informazioni, vedere Informazioni su KTM. |
|
Il volume specificato supporta collegamenti reali. Per altre informazioni, vedere Collegamenti rigidi e giunzioni.
Windows Vista e Windows Server 2008: Questo valore non è supportato. |
|
Il volume specificato supporta gli attributi estesi. Un attributo esteso è una parte di metadati specifici dell'applicazione che un'applicazione può associare a un file e non fa parte dei dati del file.
Windows Vista e Windows Server 2008: Questo valore non è supportato. |
|
Il file system supporta l'apertura tramite FileID. Per altre informazioni, vedere FILE_ID_BOTH_DIR_INFO.
Windows Vista e Windows Server 2008: Questo valore non è supportato. |
|
Il volume specificato supporta i journal del numero di sequenza di aggiornamento (USN). Per altre informazioni, vedere Change Journal Records.For more information, see Change Journal Records.
Windows Vista e Windows Server 2008: Questo valore non è supportato. |
|
Il volume specificato supporta la condivisione di cluster logici tra file nello stesso volume. Il file system rialloca le operazioni di scrittura nei cluster condivisi. Indica che FSCTL_DUPLICATE_EXTENTS_TO_FILE è un'operazione supportata. |
[out, optional] lpFileSystemNameBuffer
Puntatore a un buffer che riceve il nome del file system, ad esempio il file system FAT o il file system NTFS. Le dimensioni del buffer sono specificate dal parametro nFileSystemNameSize .
[in] nFileSystemNameSize
Lunghezza del buffer dei nomi del file system, in WCHARs. La dimensione massima del buffer è MAX_PATH+1
.
Questo parametro viene ignorato se il buffer dei nomi del file system non viene fornito.
Valore restituito
Se vengono recuperate tutte le informazioni richieste, il valore restituito è diverso da zero.
Se non vengono recuperate tutte le informazioni richieste, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | No |
Failover trasparente SMB 3.0 (TFO) | No |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | No |
File system del volume condiviso cluster (CsvFS) | Sì |
Resilient File System (ReFS) | Sì |
SMB non supporta le funzioni di gestione dei volumi.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | fileapi.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |