Sets the date and time that the specified file or directory was created, last accessed, or last modified.
Syntax
BOOL WINAPI SetFileTime(
__in HANDLE hFile,
__in_opt const FILETIME *lpCreationTime,
__in_opt const FILETIME *lpLastAccessTime,
__in_opt const FILETIME *lpLastWriteTime
);
Parameters
- hFile [in]
-
A handle to the file or directory. The handle must have been created using the CreateFile function with the FILE_WRITE_ATTRIBUTES access right. For more information, see
File Security and Access Rights.
- lpCreationTime [in, optional]
-
A pointer to a
FILETIME structure that contains the new creation date and time for the file or directory. This parameter can be NULL if the application does not need to change this information.
- lpLastAccessTime [in, optional]
-
A pointer to a
FILETIME structure that contains the new last access date and time for the file or directory. The last access time includes the last time the file or directory was written to, read from, or (in the case of executable files) run. This parameter can be NULL if the application does not need to change this information.
To preserve the existing last access time for a file even after accessing a file, call SetFileTime immediately after opening the file handle with this parameter's FILETIME structure members initialized to 0xFFFFFFFF.
- lpLastWriteTime [in, optional]
-
A pointer to a
FILETIME structure that contains the new last modified date and time for the file or directory. This parameter can be NULL if the application does not need to change this information.
Return Value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call
GetLastError.
Remarks
Not all file systems can record creation and last access times and not all file systems record them in the same manner. For example, on FAT, create time has a resolution of 10 milliseconds, write time has a resolution of 2 seconds, and access time has a resolution of 1 day (really, the access date). Therefore, the
GetFileTime function may not return the same file time information set using
SetFileTime. NTFS delays updates to the last access time for a file by up to one hour after the last access.
Examples
For an example, see
Changing a File Time to the Current Time.
Requirements
Minimum supported client | Windows 2000 Professional |
Minimum supported server | Windows 2000 Server |
Header | Winbase.h (include Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |
See Also
- File Times
- FILETIME
- GetFileSize
- GetFileTime
- GetFileType
- SetFileInformationByHandle
- Time Functions
Send comments about this topic to Microsoft
Build date: 2/4/2010