struttura FILE_FS_ATTRIBUTE_INFORMATION (ntifs.h)
La struttura FILE_FS_ATTRIBUTE_INFORMATION viene usata per eseguire query sulle informazioni sugli attributi per un file system.
Sintassi
typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
ULONG FileSystemAttributes;
LONG MaximumComponentNameLength;
ULONG FileSystemNameLength;
WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
Membri
FileSystemAttributes
Maschera di bit dei flag che specificano gli attributi del file system specificato, come combinazione compatibile dei flag seguenti.
Valore | Significato |
---|---|
FILE_CASE_SENSITIVE_SEARCH (0x00000001) | Il file system supporta nomi di file con distinzione tra maiuscole e minuscole. |
FILE_CASE_PRESERVED_NAMES (0x00000002) | Il file system mantiene il caso dei nomi di file quando inserisce un nome su disco. |
FILE_UNICODE_ON_DISK (0x00000004) | Il file system supporta Unicode nei nomi di file. |
FILE_PERSISTENT_ACLS (0x00000008) | Il file system mantiene e applica gli elenchi di controllo di accesso (ACL). |
FILE_FILE_COMPRESSION (0x00000010) | Il file system supporta la compressione basata su file. Questo flag non è compatibile con il flag FILE_VOLUME_IS_COMPRESSED. Questo flag non influisce sulla modalità di trasferimento dei dati in rete. |
FILE_VOLUME_QUOTAS (0x00000020) | Il file system supporta le quote per utente. |
FILE_SUPPORTS_SPARSE_FILES (0x00000040) | Il file system supporta file di tipo sparse. |
FILE_SUPPORTS_REPARSE_POINTS (0x00000080) | Il file system supporta reparse points. |
FILE_SUPPORTS_REMOTE_STORAGE (0x00000100) | Il file system supporta l'archiviazione remota. |
FILE_RETURNS_CLEANUP_RESULT_INFO (0x00000200) | In un'operazione di pulizia riuscita, il file system restituisce informazioni che descrivono azioni aggiuntive eseguite durante la pulizia, ad esempio l'eliminazione del file. I filtri del file system possono esaminare queste informazioni nel callback post-pulizia. |
FILE_SUPPORTS_POSIX_UNLINK_RENAME (0x00000400) | Il file system supporta operazioni di eliminazione e ridenominazione in stile POSIX. |
FILE_VOLUME_IS_COMPRESSED (0x00008000) | Il volume specificato è un volume compresso. Questo flag non è compatibile con il flag FILE_FILE_COMPRESSION. Ciò non influisce sul modo in cui i dati vengono trasferiti in rete. |
FILE_SUPPORTS_OBJECT_IDS (0x00010000) | Il file system supporta gli identificatori di oggetto. |
FILE_SUPPORTS_ENCRYPTION (0x00020000) | Il file system supporta la crittografia. |
FILE_NAMED_STREAMS (0x00040000) | Il file system supporta flussi di dati denominati per un file. |
FILE_READ_ONLY_VOLUME (0x00080000) | Il volume specificato è di sola lettura. |
FILE_SEQUENTIAL_WRITE_ONCE (0x00100000) | Il volume specificato può essere scritto una sola volta. La scrittura deve essere eseguita in ordine sequenziale. |
FILE_SUPPORTS_TRANSACTIONS (0x00200000) | Il file system supporta 'elaborazione delle transazioni. |
FILE_SUPPORTS_HARD_LINKS (0x00400000) | Il file system supporta collegamenti diretti ad altri dispositivi e partizioni. |
FILE_SUPPORTS_EXTENDED_ATTRIBUTES (0x00800000) | Il file system supporta gli attributi estesi (EA). |
FILE_SUPPORTS_OPEN_BY_FILE_ID (0x01000000) | Il file system supporta l'apertura in base all'ID file. |
FILE_SUPPORTS_USN_JOURNAL (0x02000000) | Il file system supporta i journal del numero di sequenza di aggiornamento (USN). |
FILE_SUPPORTS_INTEGRITY_STREAMS (0x04000000) | Il file system supporta flussi di integrità . |
FILE_SUPPORTS_BLOCK_REFCOUNTING (0x08000000) | Il file system supporta blocco di clonazione, ovvero la condivisione di cluster logici tra file nello stesso volume. Il file system rialloca le scritture nei cluster condivisi. |
FILE_SUPPORTS_SPARSE_VDL (0x10000000) | Il file system tiene traccia del fatto che ogni cluster di un file contenga dati validi (da scritture di file esplicite o zeri automatici) o dati non validi (non ancora scritti o zero). I file system che usano una lunghezza di dati valida (VDL) di tipo sparse non archiviano una lunghezza di dati valida e non richiedono che i dati validi siano contigui all'interno di un file. |
FILE_DAX_VOLUME (0x20000000) | Il volume specificato è un volume DAX (Direct Access). |
FILE_SUPPORTS_GHOSTING (0x40000000) | Il file system supporta il ghosting. |
MaximumComponentNameLength
Lunghezza massima del componente del nome file supportata dal file system specificato, in caratteri. Un componente nome file è la parte di un nome file tra i caratteri separatori di percorso ,ad esempio le barre rovesciata.
FileSystemNameLength
Lunghezza, in byte, del nome del file system. Il valore di questo campo deve essere maggiore di zero.
FileSystemName[1]
Campo Unicode a lunghezza variabile contenente il nome del file system. Questo campo non ha terminazione Null e deve essere gestito come sequenza di FileSystemNameLength byte.
Osservazioni
Queste informazioni possono essere sottoposte a query in uno dei modi seguenti:
Chiamare FltQueryVolumeInformation o ZwQueryVolumeInformationFile, passando FileFsAttributeInformation come valore di FileInformationClass e passando un buffer allocato FILE_FS_ATTRIBUTE_INFORMATION-structured come valore di FileInformation.
- Nota: in CSVFS FileFsAttributeInformation restituisce FILE_FS_ATTRIBUTE_INFORMATION per il file system CSVFS. Se vuoi eseguire una query FileFsAttributeInformation per il file system CSVFS, devi usare FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS.
Creare un IRP con il codice della funzione principale IRP_MJ_QUERY_VOLUME_INFORMATION.
Non sono necessari diritti di accesso specifici per eseguire query su queste informazioni. Queste informazioni sono quindi disponibili finché si accede al volume tramite un handle aperto al volume stesso o a un file o a una directory nel volume.
Le dimensioni del buffer passate nel parametro
Questa struttura deve essere allineata su un limite di LONG
Fabbisogno
Requisito | Valore |
---|---|
intestazione |
ntifs.h (include Ntifs.h, Fltkernel.h) |