Compartir a través de


estructura FILE_DIRECTORY_INFORMATION (ntifs.h)

La estructura FILE_DIRECTORY_INFORMATION se usa para consultar información detallada de los archivos de un directorio.

Sintaxis

typedef struct _FILE_DIRECTORY_INFORMATION {
  ULONG         NextEntryOffset;
  ULONG         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  ULONG         FileAttributes;
  ULONG         FileNameLength;
  WCHAR         FileName[1];
} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;

Miembros

NextEntryOffset

Desplazamiento de bytes de la siguiente entrada de FILE_DIRECTORY_INFORMATION, si hay varias entradas presentes en un búfer. Este miembro es cero si ninguna otra entrada sigue esta.

FileIndex

Desplazamiento de bytes del archivo dentro del directorio primario. Este miembro no está definido para los sistemas de archivos, como NTFS, en el que la posición de un archivo dentro del directorio primario no es fija y se puede cambiar en cualquier momento para mantener el criterio de ordenación.

CreationTime

Hora a la que se creó el archivo.

LastAccessTime

Última vez que se obtuvo acceso al archivo.

LastWriteTime

Última vez que se escribió información en el archivo.

ChangeTime

Última vez que se cambió el archivo.

EndOfFile

Posición absoluta del final del archivo como desplazamiento de bytes desde el inicio del archivo. endOfFile especifica el desplazamiento de bytes al final del archivo. Dado que este valor está basado en cero, realmente hace referencia al primer byte libre del archivo. En otras palabras, endOfFile es el desplazamiento al byte inmediatamente después del último byte válido del archivo.

AllocationSize

Tamaño de asignación de archivos, en bytes. Normalmente, este valor es un múltiplo del tamaño del sector o clúster del dispositivo físico subyacente.

FileAttributes

Atributos de archivo, que pueden ser cualquier combinación válida de lo siguiente:

  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_COMPRESSED
  • FILE_ATTRIBUTE_DIRECTORY
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_NORMAL
  • FILE_ATTRIBUTE_READONLY
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_TEMPORARY

FileNameLength

Especifica la longitud de la cadena de nombre de archivo.

FileName[1]

Especifica el primer carácter de la cadena de nombre de archivo. Esto va seguido de la memoria en el resto de la cadena.

Observaciones

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

  • Llame a ZwQueryDirectoryFile, pasando FileDirectoryInformation como el valor de FileInformationClass y pasando un búfer asignado por el autor de la llamada, FILE_DIRECTORY_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 específicos para consultar esta información.

Todas las fechas y horas están en formato absoluto en tiempo del sistema. La hora absoluta del sistema es el número de intervalos de 100 nanosegundos desde el inicio del año 1601.

Esta estructura debe alinearse en un límite de LONGLONG (8 bytes). Si un búfer contiene dos o más de estas estructuras, el nextEntryOffset valor de cada entrada, excepto el último, cae en un límite de 8 bytes.

Requisitos

Requisito Valor
encabezado de ntifs.h (incluya Ntifs.h, Fltkernel.h)

Consulte también

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile