SetFileTime

Far Manager

SetFileTime

The SetFileTime function sets the date and time that a file was created, last accessed, or last modified.
BOOL SetFileTime(
  HANDLE hFile,
  CONST FILETIME *lpCreationTime,
  CONST FILETIME *lpLastAccessTime,
  CONST FILETIME *lpLastWriteTime
);

Parameters

hFile
Handle to the file for which to set the dates and times. The file handle must have been created with GENERIC_WRITE access to the file.
lpCreationTime
Pointer to a FILETIME structure that contains the date and time the file was created. This parameter can be NULL if the application does not need to set this information.
lpLastAccessTime
Pointer to a FILETIME structure that contains the date and time the file was last accessed. The last access time includes the last time the file 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 set this information.
lpLastWriteTime
Pointer to a FILETIME structure that contains the date and time the file was last written to. This parameter can be NULL if the application does not want to set 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

The FAT and NTFS file systems support the file creation, last access, and last write time values.

The file time precision can vary depending on operating system, file system, network configuration. See remarks for the FILETIME for details.

Example

The following example sets the last-write time for a file to the current system time.
BOOL SetFileToCurrentTime(HANDLE hFile)
{
  FILETIME ft;
  SYSTEMTIME st;

  GetSystemTime(&st);                 // gets current time
  SystemTimeToFileTime(&st, &ft);     // converts to file time format
  return SetFileTime(hFile,           // sets last-write time for file
              (LPFILETIME) NULL, (LPFILETIME) NULL, &ft);
}
See also: