struttura FILE_STAT_BASIC_INFORMATION (ntifs.h)

Importante

Alcune informazioni si riferiscono a un prodotto in versione preliminare che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

FILE_STAT_BASIC_INFORMATION contiene metadati di base relativi a un file.

Sintassi

typedef struct _FILE_STAT_BASIC_INFORMATION {
  LARGE_INTEGER FileId;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER AllocationSize;
  LARGE_INTEGER EndOfFile;
  ULONG         FileAttributes;
  ULONG         ReparseTag;
  ULONG         NumberOfLinks;
  ULONG         DeviceType;
  ULONG         DeviceCharacteristics;
  ULONG         Reserved;
  LARGE_INTEGER VolumeSerialNumber;
  FILE_ID_128   FileId128;
} FILE_STAT_BASIC_INFORMATION, *PFILE_STAT_BASIC_INFORMATION;

Members

FileId

Specifica l'ID di un file.

CreationTime

Specifica l'ora di creazione di un file.

LastAccessTime

Specifica l'ultima volta che è stato eseguito l'accesso a un file.

LastWriteTime

Specifica l'ultima volta in cui è stato scritto un file.

ChangeTime

Specifica l'ultima volta che un file è stato modificato.

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.

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.

FileAttributes

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

Attributo Valore
FILE_ATTRIBUTE_READONLY 0x00000001
FILE_ATTRIBUTE_HIDDEN 0x00000002
FILE_ATTRIBUTE_SYSTEM 0x00000004
FILE_ATTRIBUTE_DIRECTORY 0x00000010
FILE_ATTRIBUTE_ARCHIVE 0x00000020
FILE_ATTRIBUTE_NORMAL 0x00000080

ReparseTag

Tag del punto di ripristino. Per altre informazioni, vedere Informazioni sui punti di analisi .

NumberOfLinks

Specifica il numero di collegamenti al file.

DeviceType

Impostare quando un driver chiama IoCreateDevice in base al tipo di dispositivo sottostante. Per altre informazioni, vedere Specifica dei tipi di dispositivo.

DeviceCharacteristics

Caratteristiche del dispositivo. Per una descrizione dei valori pertinenti, vedere DEVICE_OBJECT.

Reserved

Riservato per l'utilizzo nel sistema.

VolumeSerialNumber

Numero di serie del volume in cui si trova il file.

FileId128

Numero di riferimento del file a 128 byte per il file. Questo numero viene generato e assegnato al file dal file system.

Commenti

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

  • Chiama ZwQueryDirectoryFile, passando FileStatBasicInformation come valore di FileInformationClass e passando un buffer allocato dal chiamante FILE_ID_EXTD_DIR_INFORMATION strutturato 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.

I numeri di riferimento dei file, detti anche ID file, sono sicuramente univoci solo all'interno di un file system statico. Non è garantito che siano univoci nel tempo, perché i file system sono liberi di riutilizzarli. Né sono garantiti che rimangano costanti. Ad esempio, il file system FAT genera il numero di riferimento del file per un file dall'offset di byte del record di immissione della directory del file (DIRENT) sul disco. La deframmentazione può modificare questo offset di byte. Di conseguenza, un numero di riferimento al file FAT può cambiare nel tempo.

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
Client minimo supportato Windows 11 versione 24H2
Intestazione ntifs.h

Vedi anche

FILE_INFORMATION_CLASS

**ZwQueryInformationByName **