Estructura WIN32_FIND_DATA
Definición
La estructura WIN32_FIND_DATA describe un fichero encontrado por la función FindFirstFile, FindFirstFileEx o FindNextFile.
typedef struct _WIN32_FIND_DATA { // wfd DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; TCHAR cFileName[ MAX_PATH ]; TCHAR cAlternateFileName[ 14 ]; } WIN32_FIND_DATA;
Descripción
dwFileAttributes: especifica los atributos de fichero del fichero encontrado. Este miembro puede tener uno o más de los siguientes valores:
Valor | Significado |
---|---|
FILE_ATTRIBUTE_ARCHIVE | El fichero es un archivo. Las aplicaciones usan este valor para marcar ficheros para copia de seguridad o para borrado. |
FILE_ATTRIBUTE_COMPRESSED | El fichero o directorio está comprimido. Para un fichero, esto significa que todos los datos del fichero están comprimidos. Para un directorio, significa que la esa compresión se hará por defecto para nuevos ficheros o subdirectorios creados. |
FILE_ATTRIBUTE_DIRECTORY | El fichero es un directorio. |
FILE_ATTRIBUTE_HIDDEN | El fichero es oculto. Este fichero no se incluye en un listado de directorio normal. |
FILE_ATTRIBUTE_NORMAL | El fichero no tiene otros atributos activos. Este valor sólo es válido si se usa sólo. |
FILE_ATTRIBUTE_OFFLINE | Los datos del fichero no están disponibles de forma inmediata. Indica que los datos del fichero han sido movidos físicamente a un almacenamiento fuera de línea. |
FILE_ATTRIBUTE_READONLY | El fichero es sólo de lectura. Las aplicaciones pueden leer datos del fichero, pero no pueden escribirlos en él o borrarlo. |
FILE_ATTRIBUTE_SYSTEM | El fichero es parte del sistema operativo o es usado exclusivamente por él. |
FILE_ATTRIBUTE_TEMPORARY | El fichero es usado para almacenamiento temporal. Las aplicaciones pueden escribir en el fichero sólo si es absolutamente necesario. Muchos de los datos del fichero permanecen en memoria sin volcarse al disco porque el fichero será borrado en poco tiempo. |
ftCreationTime: especifica una estructura FILETIME que contiene la fecha en que el fichero fue creado. FindFirstFile, FindFirstFileEx y FindNextFile indican las fechas de los ficheros en el formato de tiempo universal (UTC). Estas funciones asignan cero a los miembros de FILETIME si el sistema de ficheros que contiene al fichero no soporta este miembro de fecha. Se puede usar la función FileTimeToLocalFileTime para convertir fechas desde UTC a tiempo local, y después usar la función FileTimeToSystemTime para convertir de tiempo local a una estructura SYSTEMTIME que contenga miembros individuales para el mes, día, año, día de la semana, hora, minuto, segundo y milisegundos.
ftLastAccessTime: especifica una estructura FILETIME que contiene la fecha en que se accedió al fichero por última vez. La fecha está en formato UTC; los miembros de FILETIME serán cero si el sistema de ficheros no soporta este miembro de fecha.
ftLastWriteTime: especifica una estructura FILETIME que contiene la fecha en que se realizó la última escritura. La fecha está en formato UTC; los miembros de FILETIME serán cero si el sistema de ficheros no soporta este miembro de fecha.
nFileSizeHigh: especifica el valor DWORD de mayor peso el tamaño del fichero, en bytes. Este valor es cero a no ser que el tamaño del fichero sea mayor de MAXDWORD. El tamaño del fichero es igual a (nFileSizeHigh * MAXDWORD) + nFileSizeLow.
nFileSizeLow: especifica el valor DWORD de menor peso del tamaño del fichero, en bytes.
dwReserved0: reservado para uso futuro.
dwReserved1: reservado para uso futuro.
cFileName: una cadena terminada en cero que contiene el nombre del fichero.
cAlternateFileName: una cadena terminada en cero que contiene el nombre del fichero. Este nombre está en el formato de nombre de fichero clásico 8.3 (filename.ext).
Observaciones
Si un fichero tiene un nombre de fichero largo, el nombre completo aparece en el campo cFileName, y la versión truncada en formato 8.3 del nombre aparecerá en el campo cAlternateFileName. En otro caso, cAlternateFileName estará vacío. Como alternativa, se puede usar la función GetShortPathName para encontrar la versión en formato 8.3 de un nombre de fichero.