Condividi tramite


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 BirthObjectId potrebbe non corrispondere al valore corrente del membro ObjectId .

DUMMYUNIONNAME.DUMMYSTRUCTNAME.DomainId[16]

Riservato; deve essere zero.

DUMMYUNIONNAME.ExtendedInfo[48]

Dati forniti dall'utente. È possibile usarlo per contenere i membriBirthVolumeID , BirthObjectIDe DomainID oppure è possibile definire una struttura di dati diversa.

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)

Vedere anche

FILE_INTERNAL_INFORMATION

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile