estructura FILE_OBJECTID_INFORMATION (ntifs.h)

La estructura FILE_OBJECTID_INFORMATION se usa para consultar la información del identificador de objeto de los archivos de un directorio de un volumen NTFS.

Sintaxis

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;

Miembros

FileReference

Número de referencia de archivo de 8 bytes para el archivo. NTFS genera este número y lo asigna al archivo automáticamente cuando se crea el archivo.

ObjectId[16]

Identificador de objeto de archivo de 16 bytes para el archivo. NTFS genera este número y lo asigna al archivo a petición de un controlador o aplicación. Se garantiza que los identificadores de objeto de archivo son únicos solo dentro del volumen donde reside el archivo.

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthVolumeId[16]

Identificador de objeto del volumen en el que reside el archivo cuando se creó el identificador de objeto o cero si el volumen no tenía ningún identificador de objeto en ese momento. Después de las operaciones de copia, las operaciones de movimiento u otras operaciones de archivo, BirthVolumeId puede no ser el mismo que el identificador de objeto del volumen en el que reside el objeto actualmente.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.BirthObjectId[16]

Identificador de objeto del archivo en el momento en que se creó. Después de las operaciones de copia, las operaciones de movimiento u otras operaciones de archivo BirthObjectId pueden no ser iguales que el valor actual del miembro ObjectId .

DUMMYUNIONNAME.DUMMYSTRUCTNAME.DomainId[16]

Reservados; debe ser cero.

DUMMYUNIONNAME.ExtendedInfo[48]

Datos proporcionados por el usuario. Puede usarlo para contener los miembros BirthVolumeID, BirthObjectID y DomainID , o bien puede definir una estructura de datos diferente.

Comentarios

Esta información se puede consultar de cualquiera de las maneras siguientes:

  • Llame a ZwQueryDirectoryFile, pasando FileObjectIdInformation como valor de FileInformationClass y pasando un búfer asignado por el autor de la llamada, FILE_OBJECTID_INFORMATION estructurado como el valor de FileInformation.

  • Cree un IRP con IRP_MJ_DIRECTORY_CONTROL de código de función principal y código de función secundaria IRP_MN_QUERY_DIRECTORY.

No se requieren derechos de acceso especiales para consultar esta información.

La compatibilidad con los números de referencia de archivo y los identificadores de objeto de archivo es específico del sistema de archivos:

  • Los identificadores de objeto de archivo solo se admiten en volúmenes NTFS. NTFS permite que los archivos se abran mediante el identificador de objeto, así como por el número de referencia de archivo.
  • ReFS no admite identificadores de objeto. ReFS usa identificadores de archivo de 128 bits, por lo que no se puede distinguir limpiamente entre el identificador de archivo y el identificador de objeto al procesar un identificador abierto por identificador. (Los identificadores de archivo son de 64 bits en NTFS, por lo que se distinguen fácilmente de los identificadores de objeto. NTFS también admite la apertura simultáneamente en un identificador de 128 bits: si los 64 bits altos son cero, los 64 bits bajos se tratan como un identificador de archivo; de lo contrario, el valor de 128 bits se trata como un identificador de objeto).

Los controladores de filtro del sistema de archivos que usan identificadores de objeto de archivo deben probarse para la interoperabilidad con DFS, el servicio Replicator y el servicio Distributed Link Tracking, todos los cuales usan y manipulan identificadores de objeto de archivo.

Esta estructura debe alinearse en un límite long (4 bytes).

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000
Encabezado ntifs.h (incluya Ntifs.h, Fltkernel.h)

Consulte también

FILE_INTERNAL_INFORMATION

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile