Функция SetFileTime устанавливает дату и время, когда файл создавался, последний доступ или последнее изменение.
BOOL SetFileTime( HANDLE hFile, const FILETIME* lpCreationTime, const FILETIME* lpLastAccessTime, const FILETIME* lpLastWriteTime ); |
hFile
[in] Дескриптор файла, для которого получаем дату и время. Дескриптор файла должен быть создан с правом доступа FILE_WRITE_ATTRIBUTES. Дополнительную информацию, см. в статье Защита файла и права доступа.lpCreationTime
[in] Указатель на структуру FILETIME, которая содержит дату и время, когда файл создавался. Этот параметр может быть NULL, если приложение не требует установки этой информации.lpLastAccessTime
[in] Указатель на структуру FILETIME, которая содержит дату и время, когда последний раз файл был доступен. Время последнего обращения включает в себя последний раз, когда файл записывался, читался или, (в случае, если это исполняемый файл) запускался. Этот параметр может быть NULL, еслиприкладная программа не требует установки этой информации.lpLastWriteTime
[in] Указатель на структуру FILETIME, которая содержит дату и время, когда файл в последний раз был записан. Этот параметр может быть NULL, если приложение не требует установки этой информации.Если функция завершается успешно, возвращаемое значение не нуль.
Если функция завершается ошибкой, возвращаемое значение равняется нулю. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Не все файловые системы могут фиксировать время создания и последнего доступа и не все файловые системы фиксируют их тем же самым способом. Например, в файловой системе FAT время создания имеет разрешающую способность 10 миллисекунд, время записи имеет разрешающую способность 2 секунд, а время доступа имеет разрешающую способность 1 день (фактически дата доступа). Поэтому, функция GetFileTime не может возвратить тот же самый набор информации о временной характеристике файла, чтобы установить его, используя функцию SetFileTime. NTFS задерживает обновление времени последнего доступа к файлу до одного часа после последнего обращения.
Дополнительную информацию, см. в статье Файловое время.
Если Вы переименовываете или удаляете файл, то восстанавливая его вскоре после этого, Windows находит в кэше информацию о файле, чтобы восстановить. Кэшированная информация включает в себя свою короткую/длинную пару имен и время создания.
Пример, см. в статье Извлечение времени последней записи.
Обзор Время (операционной системы), Функции, используемые для времени, FILETIME, GetFileSize, GetFileType, GetFileTime, SetFileInformationByHandle
Размещение и совместимость SetFileTime | ||
К | Windows Vista | Да |
л | Windows XP | Да |
и | Windows 2000 Professional | Да |
е | Windows NT Workstation | Да |
н | Windows Me | Да |
т | Windows 98 | Да |
Windows 95 | Да | |
С | Windows Server 2008 | Да |
е | Windows Server 2003 | Да |
р | Windows 2000 Server | Да |
в | Windows NT Server | Да |
е | ||
р | ||
Используемая библиотека | Kernel32.lib | |
Используемая DLL | kernel32.dll | |
Заголовочный файл | ||
- объявлено в | Winbase.h | |
- включено в | Windows.h | |
Unicode | Нет | |
Замечания по платформе | Не имеется |