Función SetFileTime (fileapi.h)
Establece la fecha y hora en que se crearon el archivo o el directorio especificados, así como la última vez que se accedió a ellos o se modificaron.
Sintaxis
BOOL SetFileTime(
[in] HANDLE hFile,
[in, optional] const FILETIME *lpCreationTime,
[in, optional] const FILETIME *lpLastAccessTime,
[in, optional] const FILETIME *lpLastWriteTime
);
Parámetros
[in] hFile
Identificador del archivo o directorio. El identificador debe haberse creado mediante la función CreateFile con el derecho de acceso FILE_WRITE_ATTRIBUTES . Para obtener más información, vea Seguridad de archivos y derechos de acceso.
[in, optional] lpCreationTime
Puntero a una estructura FILETIME que contiene la nueva fecha y hora de creación del archivo o directorio. Si la aplicación no necesita cambiar esta información, establezca este parámetro en NULL
o en un puntero a una estructura FILETIME que tenga los miembros dwLowDateTime y dwHighDateTime establecidos en 0
.
[in, optional] lpLastAccessTime
Puntero a una estructura FILETIME que contiene la nueva fecha y hora de acceso para el archivo o directorio. La última hora de acceso incluye la última vez que se escribió el archivo o directorio en, leer desde o (en el caso de los archivos ejecutables) ejecutar. Si la aplicación no necesita cambiar esta información, establezca este parámetro en NULL
o en un puntero a una estructura FILETIME que tenga los miembros dwLowDateTime y dwHighDateTime establecidos en 0
.
Para evitar que las operaciones de archivo que usen el identificador especificado modifiquen la última hora de acceso, llame a SetFileTime inmediatamente después de abrir el identificador de archivo y pase una estructura FILETIME que tenga los miembros dwLowDateTime y dwHighDateTime establecidos en 0xFFFFFFFF
.
[in, optional] lpLastWriteTime
Puntero a una estructura FILETIME que contiene la nueva fecha y hora de última modificación para el archivo o directorio. Si la aplicación no necesita cambiar esta información, establezca este parámetro en NULL
o en un puntero a una estructura FILETIME que tenga los miembros dwLowDateTime y dwHighDateTime establecidos en 0
.
Para evitar que las operaciones de archivo que usen el identificador especificado modifiquen la última hora de escritura, llame a SetFileTime inmediatamente después de abrir el identificador de archivo y pase una estructura FILETIME que tenga los miembros dwLowDateTime y dwHighDateTime establecidos en 0xFFFFFFFF
.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
No todos los sistemas de archivos pueden registrar los tiempos de creación y última hora de acceso y no todos los sistemas de archivos los registran de la misma manera. Por ejemplo, en FAT, 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 (realmente, la fecha de acceso). Por lo tanto, es posible que la función GetFileTime no devuelva la misma información de tiempo de archivo establecida mediante SetFileTime. NTFS retrasa las actualizaciones de la última hora de acceso de un archivo hasta una hora después del último acceso.
Ejemplos
Para obtener un ejemplo, consulte Cambio de una hora de archivo a la hora actual.
Requisitos
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | fileapi.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |