FILE_DIRECTORY_INFORMATION struttura (ntifs.h)
La struttura FILE_DIRECTORY_INFORMATION viene usata per eseguire query dettagliate sulle informazioni per i file in una directory.
Sintassi
typedef struct _FILE_DIRECTORY_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;
Members
NextEntryOffset
Offset di byte della voce FILE_DIRECTORY_INFORMATION successiva, se in un buffer sono presenti più voci. Questo membro è zero se nessun'altra voce segue questa.
FileIndex
Offset di byte del file all'interno della directory padre. Questo membro non è definito per i file system, ad esempio NTFS, in cui la posizione di un file all'interno della directory padre non è fissa e può essere modificata in qualsiasi momento per mantenere l'ordine di ordinamento.
CreationTime
Ora della creazione del file.
LastAccessTime
Ultima volta che il file è stato eseguito l'accesso.
LastWriteTime
L'ultima volta che le informazioni sono state scritte nel file.
ChangeTime
Ultima volta che il file è stato modificato.
EndOfFile
Nuova posizione end-of-file assoluta come offset di byte dall'inizio del file. EndOfFile specifica l'offset di byte alla fine del file. Poiché questo valore è basato su zero, si riferisce effettivamente al primo byte libero nel file. In altre parole, EndOfFile è l'offset al byte immediatamente dopo l'ultimo byte valido nel file.
AllocationSize
Dimensioni dell'allocazione dei file, in byte. In genere, questo valore è un multiplo delle dimensioni del settore o del cluster del dispositivo fisico sottostante.
FileAttributes
Attributi di file, che possono essere una combinazione valida dei seguenti:
- FILE_ATTRIBUTE_ARCHIVE
- FILE_ATTRIBUTE_COMPRESSED
- FILE_ATTRIBUTE_DIRECTORY
- FILE_ATTRIBUTE_HIDDEN
- FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_SYSTEM
- FILE_ATTRIBUTE_TEMPORARY
FileNameLength
Specifica la lunghezza della stringa del nome file.
FileName[1]
Specifica il primo carattere della stringa del nome file. Questa operazione viene seguita in memoria dal resto della stringa.
Commenti
Queste informazioni possono essere sottoposte a query in uno dei modi seguenti:
- Chiamare ZwQueryDirectoryFile, passando FileDirectoryInformation come valore di FileInformationClass e passando un buffer allocato dal chiamante FILE_DIRECTORY_INFORMATION strutturato come valore di FileInformation.
- Creare un'IRP con codice di funzione principale IRP_MJ_DIRECTORY_CONTROL e codice di funzione secondario IRP_MN_QUERY_DIRECTORY.
Non sono necessari diritti di accesso specifici per eseguire query su queste informazioni.
Tutte le date e le ore sono in formato di sistema assoluto. Il tempo di sistema assoluto è il numero di intervalli di 100 nanosecondi dall'inizio dell'anno 1601.
Questa struttura deve essere allineata a un limite LONGLONG (8 byte). Se un buffer contiene due o più strutture, il valore NextEntryOffset in ogni voce, ad eccezione dell'ultimo, cade su un limite di 8 byte.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntifs.h (include Ntifs.h, Fltkernel.h) |