estructura de BY_HANDLE_FILE_INFORMATION (fileapi.h)
Contiene información que recupera la función GetFileInformationByHandle.
Sintaxis
typedef struct _BY_HANDLE_FILE_INFORMATION {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD dwVolumeSerialNumber;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD nNumberOfLinks;
DWORD nFileIndexHigh;
DWORD nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
Miembros
dwFileAttributes
Atributos de archivo. Para conocer los valores posibles y sus descripciones, vea Constantes de atributo de archivo.
ftCreationTime
Estructura FILETIME que especifica cuándo se crea un archivo o directorio. Si el sistema de archivos subyacente no admite el tiempo de creación, este miembro es cero (0).
ftLastAccessTime
Estructura FILETIME . Para un archivo, la estructura especifica la última vez que se lee o escribe un archivo. Para un directorio, la estructura especifica cuándo se crea el directorio. En el caso de los archivos y directorios, la fecha especificada es correcta, pero la hora del día siempre se establece en medianoche. Si el sistema de archivos subyacente no admite la hora de último acceso, este miembro es cero (0).
ftLastWriteTime
Estructura FILETIME . Para un archivo, la estructura especifica la última vez en que se escribe un archivo. Para un directorio, la estructura especifica cuándo se crea el directorio. Si el sistema de archivos subyacente no admite la última hora de escritura, este miembro es cero (0).
dwVolumeSerialNumber
Número de serie del volumen que contiene un archivo.
nFileSizeHigh
Parte de orden superior del tamaño del archivo.
nFileSizeLow
Parte de orden bajo del tamaño del archivo.
nNumberOfLinks
Número de vínculos a este archivo. Para el sistema de archivos FAT, este miembro siempre es 1. Para el sistema de archivos NTFS, puede ser superior a 1.
nFileIndexHigh
Parte de orden superior de un identificador único asociado a un archivo. Para obtener más información, vea nFileIndexLow.
nFileIndexLow
Parte de orden bajo de un identificador único asociado a un archivo.
El identificador (partes bajas y altas) y el número de serie del volumen identifican de forma única un archivo en un solo equipo. Para determinar si dos identificadores abiertos representan el mismo archivo, combine el identificador y el número de serie del volumen para cada archivo y compárelos.
El sistema de archivos ReFS, introducido con Windows Server 2012, incluye identificadores de archivo de 128 bits. Para recuperar el identificador de archivo de 128 bits, use la función GetFileInformationByHandleEx con FileIdInfo para recuperar la estructura de FILE_ID_INFO . No se garantiza que el identificador de 64 bits de esta estructura sea único en ReFS.
Comentarios
El identificador almacenado en los miembros nFileIndexHigh y nFileIndexLow se denomina identificador de archivo. La compatibilidad con identificadores de archivo es específica del sistema de archivos. No se garantiza que los identificadores de archivo sean únicos a lo largo del tiempo, ya que los sistemas de archivos son libres de reutilizarlos. En algunos casos, el identificador de archivo de un archivo puede cambiar con el tiempo.
En el sistema de archivos FAT, el identificador de archivo se genera a partir del primer clúster del directorio contenedor y el desplazamiento de bytes dentro del directorio de la entrada del archivo. Algunos productos de desfragmentación cambian este desplazamiento de bytes. (La desfragmentación integrada de Windows no lo hace). Por lo tanto, un identificador de archivo FAT puede cambiar con el tiempo. Cambiar el nombre de un archivo en el sistema de archivos FAT también puede cambiar el identificador de archivo, pero solo si el nuevo nombre de archivo es mayor que el anterior.
En el sistema de archivos NTFS, un archivo mantiene el mismo identificador de archivo hasta que se elimina. Puede reemplazar un archivo por otro sin cambiar el identificador de archivo mediante la función ReplaceFile . Sin embargo, el identificador de archivo del archivo de reemplazo, no el archivo reemplazado, se conserva como el identificador de archivo del archivo resultante.
No todos los sistemas de archivos pueden registrar la creación y la hora de último acceso, y no todos los sistemas de archivos los registran de la misma manera. Por ejemplo, en un sistema de archivos FAT de Windows, el tiempo de creación tiene una resolución de 10 milisegundos, el tiempo de escritura tiene una resolución de 2 segundos y el tiempo de acceso tiene una resolución de 1 día (la fecha de acceso). En el sistema de archivos NTFS, el tiempo de acceso tiene una resolución de 1 hora. Para más información, consulte Tiempos de archivo.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | fileapi.h (incluya Windows.h) |