Функция SetFileTime

Функция 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 Нет
Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz