struttura FILE_FULL_DIR_INFORMATION (ntifs.h)

La struttura FILE_FULL_DIR_INFORMATION viene usata per eseguire query dettagliate sui file in una directory.

Sintassi

typedef struct _FILE_FULL_DIR_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;
  ULONG         EaSize;
  WCHAR         FileName[1];
} FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;

Members

NextEntryOffset

Offset di byte della voce di FILE_FULL_DIR_INFORMATION successiva, se sono presenti più voci in un buffer. 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'ordinamento.

CreationTime

Ora di creazione del file.

LastAccessTime

Ora dell'ultimo accesso al file.

LastWriteTime

L'ultima volta che le informazioni sono state scritte nel file.

ChangeTime

Ora dell'ultima modifica del file.

EndOfFile

Nuova posizione assoluta di fine file come offset di byte dall'inizio del file. EndOfFile specifica l'offset di byte alla fine del file. Poiché questo valore è in base zero, fa effettivamente riferimento al primo byte libero nel file. In altre parole, EndOfFile è l'offset al byte immediatamente successivo all'ultimo byte valido nel file.

AllocationSize

Dimensioni di allocazione dei file, in byte. In genere, questo valore è un multiplo del settore o delle dimensioni del cluster del dispositivo fisico sottostante.

FileAttributes

Attributi di file, che possono essere qualsiasi combinazione valida dei seguenti elementi:

  • FILE_ATTRIBUTE_READONLY
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_NORMAL
  • FILE_ATTRIBUTE_TEMPORARY
  • FILE_ATTRIBUTE_COMPRESSED

FileNameLength

Specifica la lunghezza della stringa del nome file.

EaSize

Lunghezza combinata, in byte, degli attributi estesi (EA) per il file.

FileName[1]

Specifica il primo carattere della stringa del nome file. Questo è seguito in memoria dal resto della stringa.

Commenti

Queste informazioni possono essere sottoposte a query in uno dei modi seguenti:

  • Chiama ZwQueryDirectoryFile passando FileFullDirectoryInformation come valore di FileInformationClass e passando un buffer strutturato FILE_FULL_DIR_INFORMATION chiamante come valore di FileInformation.

  • Creare un'istanza di IRP con codice di funzione principale IRP_MJ_DIRECTORY_CONTROL e il codice di funzione secondaria 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 assoluto di ora di sistema. Il tempo di sistema assoluto è il numero di intervalli di 100 nanosecondi dall'inizio dell'anno 1601.

Questa struttura deve essere allineata su un limite di LONGLONG (8 byte). Se un buffer contiene due o più di queste 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)

Vedi anche

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile