struttura FILE_ID_BOTH_DIR_INFO (winbase.h)

Contiene informazioni sui file nella directory specificata. Usato per gli handle della directory. Usare solo quando si chiama GetFileInformationByHandleEx. Il numero di file restituiti per ogni chiamata a GetFileInformationByHandleEx dipende dalle dimensioni del buffer passato alla funzione. Tutte le chiamate successive a GetFileInformationByHandleEx nello stesso handle riprenderanno l'operazione di enumerazione dopo la restituzione dell'ultimo file.

Sintassi

typedef struct _FILE_ID_BOTH_DIR_INFO {
  DWORD         NextEntryOffset;
  DWORD         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  DWORD         FileAttributes;
  DWORD         FileNameLength;
  DWORD         EaSize;
  CCHAR         ShortNameLength;
  WCHAR         ShortName[12];
  LARGE_INTEGER FileId;
  WCHAR         FileName[1];
} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;

Members

NextEntryOffset

Offset per la struttura di FILE_ID_BOTH_DIR_INFO successiva restituita. Contiene zero (0) 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 di creazione del file.

LastAccessTime

Ora in cui è stato eseguito l'ultimo accesso al file.

LastWriteTime

Ora in cui il file è stato scritto.

ChangeTime

Ora dell'ultima modifica del file.

EndOfFile

Nuova posizione finale assoluta del file come offset di byte dall'inizio del file 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 del byte che segue immediatamente l'ultimo byte valido nel file.

AllocationSize

Numero di byte allocati per il file. Questo valore è in genere un multiplo del settore o delle dimensioni del cluster del dispositivo fisico sottostante.

FileAttributes

Attributi di file. Questo membro può essere una combinazione valida degli attributi seguenti:

FILE_ATTRIBUTE_ARCHIVE (0x00000020)

FILE_ATTRIBUTE_COMPRESSED (0x00000800)

FILE_ATTRIBUTE_DIRECTORY (0x00000010)

FILE_ATTRIBUTE_HIDDEN (0x00000002)

FILE_ATTRIBUTE_NORMAL (0x00000080)

FILE_ATTRIBUTE_READONLY (0x00000001)

FILE_ATTRIBUTE_SYSTEM (0x00000004)

FILE_ATTRIBUTE_TEMPORARY (0x00000100)

FileNameLength

Lunghezza del nome del file.

EaSize

Dimensioni degli attributi estesi per il file.

ShortNameLength

Lunghezza di ShortName.

ShortName[12]

Convenzione di denominazione del file 8.3 breve ,ad esempio "FILENAME.TXT") del file.

FileId

ID file.

FileName[1]

Primo carattere della stringa del nome file. Questa operazione viene seguita in memoria dal resto della stringa.

Commenti

Non sono necessari diritti di accesso specifici per eseguire query su queste informazioni.

I numeri di riferimento dei file, chiamati anche ID file, sono garantiti essere 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 di rimanere costanti. Ad esempio, il file system FAT genera il numero di riferimento del file per un file dall'offset di byte del record di voce della directory del file (DIRENT) sul disco. La deframmentazione può modificare questo offset di byte. Pertanto, un numero di riferimento al file FAT può cambiare nel tempo.

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 FILE_ID_BOTH_DIR_INFO deve essere allineata a un limite DWORDLONG (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
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Intestazione winbase.h (include Windows.h)
Componente ridistribuibile Windows SDK in Windows Server 2003 e Windows XP.

Vedi anche

FILE_INFO_BY_HANDLE_CLASS

Costanti dell'attributo file

GetFileInformationByHandleEx