struttura FILE_OBJECTID_INFORMATION (ntifs.h)
La struttura FILE_OBJECTID_INFORMATION viene usata per eseguire query sulle informazioni sull'ID oggetto per i file in una directory in un volume NTFS.
Sintassi
typedef struct _FILE_OBJECTID_INFORMATION {
LONGLONG FileReference;
UCHAR ObjectId[16];
union {
struct {
UCHAR BirthVolumeId[16];
UCHAR BirthObjectId[16];
UCHAR DomainId[16];
} DUMMYSTRUCTNAME;
UCHAR ExtendedInfo[48];
} DUMMYUNIONNAME;
} FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;
Membri
FileReference
Numero di riferimento del file a 8 byte per il file. NTFS genera questo numero e lo assegna automaticamente al file quando viene creato il file.
ObjectId[16]
ID oggetto file a 16 byte per il file. NTFS genera questo numero e lo assegna al file alla richiesta di un driver o di un'applicazione. Gli ID oggetto file sono sicuramente univoci solo all'interno del volume in cui si trova il file.
DUMMYUNIONNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthVolumeId[16]
Identificatore dell'oggetto del volume in cui risiede il file quando è stato creato l'identificatore dell'oggetto oppure zero se il volume non aveva alcun identificatore di oggetto in quel momento. Dopo operazioni di copia, operazioni di spostamento o altre operazioni sui file, BirthVolumeId potrebbe non corrispondere all'identificatore dell'oggetto del volume in cui risiede attualmente l'oggetto.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthObjectId[16]
Identificatore dell'oggetto del file al momento della creazione. Dopo operazioni di copia, operazioni di spostamento o altre operazioni di file
DUMMYUNIONNAME.DUMMYSTRUCTNAME.DomainId[16]
Riservato; deve essere zero.
DUMMYUNIONNAME.ExtendedInfo[48]
Dati forniti dall'utente. È possibile usarlo per contenere i membri
Osservazioni
Queste informazioni possono essere sottoposte a query in uno dei modi seguenti:
Chiamare ZwQueryDirectoryFile, passando FileObjectIdInformation come valore di FileInformationClass e passando un buffer allocato FILE_OBJECTID_INFORMATION-structured come valore di FileInformation.
Creare un IRP con codice funzione principale IRP_MJ_DIRECTORY_CONTROL e codice di funzione secondaria IRP_MN_QUERY_DIRECTORY.
Non sono necessari diritti di accesso speciali per eseguire query su queste informazioni.
Il supporto per i numeri di riferimento dei file e gli ID oggetto file è specifico del file system:
- Gli ID oggetto file sono supportati solo nei volumi NTFS. NTFS consente l'apertura dei file in base all'ID oggetto e al numero di riferimento del file.
- ReFS non supporta gli ID oggetto. ReFS usa ID file a 128 bit, quindi non è possibile distinguere in modo pulito tra ID file e ID oggetto durante l'elaborazione di un oggetto aperto in base all'ID. Gli ID file sono a 64 bit in NTFS, quindi sono facilmente distinti dagli ID oggetto. NTFS supporta anche l'apertura contemporaneamente per ID a 128 bit: se i 64 bit alti sono zero, i 64 bit bassi vengono considerati come ID file; in caso contrario, il valore a 128 bit viene considerato come UN ID oggetto.
I driver di filtro del file system che usano GLI ID oggetto file devono essere testati per l'interoperabilità con DFS, il servizio Replicator e il servizio Di rilevamento dei collegamenti distribuiti, che usano e modificano gli ID oggetto file.
Questa struttura deve essere allineata su un limite LONG (4 byte).
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 |
intestazione |
ntifs.h (include Ntifs.h, Fltkernel.h) |