Функция SetFileTime (fileapi.h)

Задает дату и время создания указанного файла или каталога, последнего доступа или последнего изменения.

Синтаксис

BOOL SetFileTime(
  [in]           HANDLE         hFile,
  [in, optional] const FILETIME *lpCreationTime,
  [in, optional] const FILETIME *lpLastAccessTime,
  [in, optional] const FILETIME *lpLastWriteTime
);

Параметры

[in] hFile

Дескриптор файла или каталога. Дескриптор должен быть создан с помощью функции CreateFile с правом доступа FILE_WRITE_ATTRIBUTES . Дополнительные сведения см. в разделе Безопасность файлов и права доступа.

[in, optional] lpCreationTime

Указатель на структуру FILETIME , содержащую дату и время создания файла или каталога. Если приложению не нужно изменять эти сведения, присвойте этому параметру NULL значение или указатель на структуру FILETIME , у которого для членов dwLowDateTime и dwHighDateTime задано значение 0.

[in, optional] lpLastAccessTime

Указатель на структуру FILETIME , содержащую новую дату и время последнего доступа к файлу или каталогу. Время последнего доступа включает время последней записи файла или каталога, чтения из или (в случае исполняемых файлов) выполнения. Если приложению не нужно изменять эти сведения, присвойте этому параметру NULL значение или указатель на структуру FILETIME , у которого для членов dwLowDateTime и dwHighDateTime задано значение 0.

Чтобы запретить операции с файлами с использованием заданного дескриптора изменять время последнего доступа, вызовите SetFileTime сразу после открытия дескриптора файла и передайте структуру FILETIME , в которой для элементов dwLowDateTime и dwHighDateTime задано значение 0xFFFFFFFF.

[in, optional] lpLastWriteTime

Указатель на структуру FILETIME , содержащую новую дату и время последнего изменения для файла или каталога. Если приложению не нужно изменять эти сведения, присвойте этому параметру NULL значение или указатель на структуру FILETIME , у которого для членов dwLowDateTime и dwHighDateTime задано значение 0.

Чтобы предотвратить изменение времени последней записи в операциях с файлами с использованием заданного дескриптора, вызовите Метод SetFileTime сразу после открытия дескриптора файла и передайте структуру FILETIME , в которой для элементов dwLowDateTime и dwHighDateTime задано значение 0xFFFFFFFF.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Не все файловые системы могут записывать время создания и последнего доступа, и не все файловые системы записывают их одинаково. Например, в FAT время создания имеет разрешение 10 миллисекунд, время записи — 2 секунды, а время доступа — 1 день (на самом деле, дата доступа). Таким образом, функция GetFileTime может возвращать не тот же набор сведений о времени файла с помощью SetFileTime. NTFS задерживает обновления до времени последнего доступа к файлу на срок до одного часа после последнего доступа.

Примеры

Пример см. в разделе Изменение времени файла на текущее время.

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header fileapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

FILETIME

Время файла

GetFileSize

GetFileTime

GetFileType

SetFileInformationByHandle

Функции времени