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)

Vedi anche

FILE_INTERNAL_INFORMATION

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile