SetFileTime
Функция
SetFileTime
устанавливает дату и время создания,
модификации и последнего доступа к файлу.BOOL SetFileTime( HANDLE hFile, CONST FILETIME *lpCreationTime, CONST FILETIME *lpLastAccessTime, CONST FILETIME *lpLastWriteTime );
Параметры
hFile
идентифицирует файл, для которого устанавливаются дата и время. Файловый дескриптор должен быть создан с доступом
GENERIC_WRITE
к файлу.lpCreationTime
указывает на структуру типа FILETIME, которая содержит дату и время создания файла. Значение этого параметра может быть равно
NULL
, если приложению не требуется эта информация.lpLastAccessTime
указывает на структуру типа FILETIME, которая содержит дату и время последнего доступа к файлу. Время последнего доступа включает в себя время, когда в последний раз: в файл записывалась информация, читалась информация из файла, или, в случае исполняемых файлов, файл запускался на исполнение. Значение этого параметра может быть равно
NULL
, если приложению не требуется эта информация.lpLastWriteTime
указывает на структуру типа FILETIME, которая содержит дату и время последней записи в файл. Значение этого параметра может быть равно
NULL
, если приложению не требуется эта информация.Возвращаемое значение
В случае успеха возвращается ненулевое значение.
Если функция завершается неудачно, возвращается ноль.
Для получения дополнительной информации вызывайте функцию GetLastError
.
Замечания
Файловые системы FAT и NTFS поддерживают время создания файла, время последнего доступа к файлу и время последней записи в файл.
Точность, с которой сохраняются значения времени для файлов, зависит от используемой операционной системы, файловой системы, сетевой конфигурации. Подробнее см. замечания к структуре FILETIME.
FAT
- Точность значения времени для файла в файловой системе FAT - 2 секунды. Точность значения времени для файлов в других файловых системах, например, на сетевых дисках, зависит от файловой системы, но также может быть ограничена удалённым устройством.
Пример
Следующий пример показывает, как установить дату/время модификации файла в значение текущего системного времени.
BOOL SetFileToCurrentTime(HANDLE hFile) { FILETIME ft; SYSTEMTIME st; GetSystemTime(&st); // получить текущее время SystemTimeToFileTime(&st, &ft); // преобразовать в файловый формат return SetFileTime(hFile, // установить дату/время модификации файла (LPFILETIME) NULL, (LPFILETIME) NULL, &ft); }
Смотрите также: