struttura FILE_OBJECTID_INFORMATION (ntifs.h)
La struttura FILE_OBJECTID_INFORMATION viene utilizzata 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;
Members
FileReference
Numero di riferimento del file a 8 byte per il file. NTFS genera questo numero e lo assegna automaticamente al file al momento della creazione del 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 ha alcun identificatore di oggetto in quel momento. Dopo le operazioni di copia, le operazioni di spostamento o altre operazioni di file, BirthVolumeId potrebbe non essere uguale all'identificatore di oggetto del volume in cui si trova l'oggetto.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthObjectId[16]
Identificatore dell'oggetto del file al momento della creazione. Dopo le operazioni di copia, le operazioni di spostamento o altre operazioni file BirthObjectId potrebbero non corrispondere al valore corrente del membro ObjectId .
DUMMYUNIONNAME.DUMMYSTRUCTNAME.DomainId[16]
Riservati; deve essere zero.
DUMMYUNIONNAME.ExtendedInfo[48]
Dati forniti dall'utente. È possibile usarlo per contenere i membri BirthVolumeID, BirthObjectID e DomainID oppure definire una struttura di dati diversa.
Commenti
Queste informazioni possono essere sottoposte a query in uno dei modi seguenti:
Chiama ZwQueryDirectoryFile, passando FileObjectIdInformation come valore di FileInformationClass e passando un buffer allocato dal chiamante FILE_OBJECTID_INFORMATION strutturata 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 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, pertanto non è possibile distinguere in modo pulito tra ID file e ID oggetto durante l'elaborazione di un id aperto per ID. Gli ID file sono a 64 bit in NTFS, quindi sono facilmente distinti dagli ID oggetto. NTFS supporta anche contemporaneamente l'apertura per ID a 128 bit: se gli alti 64 bit sono zero, i 64 bit bassi vengono considerati come ID file; in caso contrario, il valore a 128 bit viene considerato come 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 Rilevamento collegamenti distribuiti, che usano e modificano gli ID oggetto file.
Questa struttura deve essere allineata su un limite LONG (4 byte).
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 |
Intestazione | ntifs.h (include Ntifs.h, Fltkernel.h) |