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 结构的指针,用于接收文件或目录上次写入、截断或覆盖 (的日期和时间,例如,使用 WriteFileSetEndOfFile) 。 更改文件属性或安全描述符时,不会更新此日期和时间。 如果应用程序不需要此信息,此参数可以为 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
标头 fileapi.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

FILETIME

文件时间

GetFileSize

GetFileType

SetFileTime

时间函数