Функция GetFileTime (fileapi.h)
Извлекает дату и время создания файла или каталога, последнего доступа и последнего изменения.
Синтаксис
BOOL GetFileTime(
[in] HANDLE hFile,
[out, optional] LPFILETIME lpCreationTime,
[out, optional] LPFILETIME lpLastAccessTime,
[out, optional] LPFILETIME lpLastWriteTime
);
Параметры
[in] hFile
Дескриптор файла или каталога, для которого требуется извлечь даты и время. Дескриптор должен быть создан с помощью функции CreateFile с правом доступа GENERIC_READ . Дополнительные сведения см. в разделе Безопасность файлов и права доступа.
[out, optional] lpCreationTime
Указатель на структуру FILETIME для получения даты и времени создания файла или каталога. Этот параметр может иметь значение NULL , если приложение не требует эти сведения.
[out, optional] lpLastAccessTime
Указатель на структуру FILETIME для получения даты и времени последнего доступа к файлу или каталогу. Время последнего доступа включает время последней записи файла или каталога, чтения из или , в случае исполняемых файлов, выполнения. Этот параметр может иметь значение NULL , если приложение не требует эти сведения.
[out, optional] lpLastWriteTime
Указатель на структуру FILETIME для получения даты и времени последней записи, усечения или перезаписи файла или каталога (например, с помощью WriteFile или SetEndOfFile). Эта дата и время не обновляются при изменении атрибутов файла или дескрипторов безопасности. Этот параметр может иметь значение NULL , если приложение не требует эти сведения.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Не все файловые системы могут записывать время создания и последнего доступа, и не все файловые системы записывают их одинаково. Например, в FAT время создания имеет разрешение 10 миллисекунд, время записи — 2 секунды, а время доступа — 1 день (на самом деле, дата доступа). Таким образом, функция GetFileTime может возвращать не тот же набор сведений о времени файла с помощью функции SetFileTime .
NTFS задерживает обновления до времени последнего доступа к файлу на срок до одного часа после последнего доступа. NTFS также позволяет отключить обновления времени последнего доступа. Время последнего доступа не обновляется на томах NTFS по умолчанию.
Windows Server 2003 и Windows XP: Время последнего доступа обновляется на томах NTFS по умолчанию.
Дополнительные сведения см. в разделе Время файла.
Если вы переименовываете или удаляете файл, то вскоре после этого восстановите его. Windows выполняет поиск сведений о файле в кэше для восстановления. Кэшированные сведения включают пару коротких и длинных имен и время создания.
Примеры
Пример см. в разделе Получение времени Last-Write.
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | fileapi.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |