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.
Windows 95
-
Точность значения времени для файла в файловой системе FAT - 2
секунды. Точность значения времени для файлов в других файловых
системах, например, на сетевых дисках, зависит от файловой системы, но
также может быть ограничена удаленным устройством.
Пример
Следующий пример показывает, как установить дату/время модификации файла в значение текущего системного времени.
BOOL SetFileToCurrentTime(HANDLE hFile)
{
FILETIME ft;
SYSTEMTIME st;
GetSystemTime(&st); // получить текущее время
SystemTimeToFileTime(&st, &ft); // преобразовать в файловый формат
return SetFileTime(hFile, // установить дату/время модификации файла
(LPFILETIME) NULL, (LPFILETIME) NULL, &ft);
}
Смотрите также: