Condividi tramite


struttura BY_HANDLE_FILE_INFORMATION (fileapi.h)

Contiene informazioni recuperate dalla funzione GetFileInformationByHandle .

Sintassi

typedef struct _BY_HANDLE_FILE_INFORMATION {
  DWORD    dwFileAttributes;
  FILETIME ftCreationTime;
  FILETIME ftLastAccessTime;
  FILETIME ftLastWriteTime;
  DWORD    dwVolumeSerialNumber;
  DWORD    nFileSizeHigh;
  DWORD    nFileSizeLow;
  DWORD    nNumberOfLinks;
  DWORD    nFileIndexHigh;
  DWORD    nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;

Members

dwFileAttributes

Attributi del file. Per i valori possibili e le relative descrizioni, vedere Costanti degli attributi file.

ftCreationTime

Struttura FILETIME che specifica quando viene creato un file o una directory. Se il file system sottostante non supporta l'ora di creazione, questo membro è zero (0).

ftLastAccessTime

Struttura FILETIME . Per un file, la struttura specifica l'ultima volta in cui un file viene letto o scritto. Per una directory, la struttura specifica quando viene creata la directory. Per i file e le directory, la data specificata è corretta, ma l'ora del giorno è sempre impostata su mezzanotte. Se il file system sottostante non supporta l'ora dell'ultimo accesso, questo membro è zero (0).

ftLastWriteTime

Struttura FILETIME . Per un file, la struttura specifica l'ultima volta in cui viene scritto un file. Per una directory, la struttura specifica quando viene creata la directory. Se il file system sottostante non supporta l'ora dell'ultima scrittura, questo membro è zero (0).

dwVolumeSerialNumber

Numero di serie del volume che contiene un file.

nFileSizeHigh

Parte di ordine elevato delle dimensioni del file.

nFileSizeLow

Parte bassa delle dimensioni del file.

nNumberOfLinks

Numero di collegamenti a questo file. Per il file system FAT questo membro è sempre 1. Per il file system NTFS, può essere maggiore di 1.

nFileIndexHigh

Parte dell'ordine elevato di un identificatore univoco associato a un file. Per altre informazioni, vedere nFileIndexLow.

nFileIndexLow

Parte in ordine basso di un identificatore univoco associato a un file.

L'identificatore (parti basse e elevate) e il numero di serie del volume identificano in modo univoco un file in un singolo computer. Per determinare se due handle aperti rappresentano lo stesso file, combinare l'identificatore e il numero di serie del volume per ogni file e confrontarli.

Il file system ReFS, introdotto con Windows Server 2012, include identificatori di file a 128 bit. Per recuperare l'identificatore di file a 128 bit, usare la funzione GetFileInformationByHandleEx con FileIdInfo per recuperare la struttura FILE_ID_INFO . L'identificatore a 64 bit in questa struttura non è garantito che sia univoco in ReFS.

Commenti

L'identificatore archiviato nei membri nFileIndexHigh e nFileIndexLow è denominato ID file. Il supporto per gli ID file è specifico del file system. Gli ID file non sono sicuramente univoci nel tempo, perché i file system sono liberi di riutilizzarli. In alcuni casi, l'ID file per un file può cambiare nel tempo.

Nel file system FAT l'ID file viene generato dal primo cluster della directory contenitore e dall'offset di byte all'interno della directory della voce per il file. Alcuni prodotti di deframmentazione modificano questo offset di byte. La deframmentazione in box di Windows non è disponibile. Di conseguenza, un ID file FAT può cambiare nel tempo. La ridenominazione di un file nel file system FAT può anche modificare l'ID file, ma solo se il nuovo nome file è più lungo di quello precedente.

Nel file system NTFS, un file mantiene lo stesso ID file fino a quando non viene eliminato. È possibile sostituire un file con un altro file senza modificare l'ID file usando la funzione ReplaceFile . Tuttavia, l'ID file del file sostitutivo, non il file sostituito, viene conservato come ID file del file risultante.

Non tutti i file system possono registrare la creazione e l'ora dell'ultimo accesso e non tutti i file system li registrano nello stesso modo. Ad esempio, in un file system FAT di Windows, l'ora di creazione ha una risoluzione di 10 millisecondi, il tempo di scrittura ha una risoluzione di 2 secondi e l'ora di accesso ha una risoluzione di 1 giorno (la data di accesso). Nel file system NTFS il tempo di accesso ha una risoluzione di 1 ora. Per altre informazioni, vedere Orari file.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione fileapi.h (include Windows.h)

Vedi anche

FILETIME

FILE_ID_INFO

Costanti degli attributi di file

GetFileInformationByHandle

GetFileInformationByHandleEx