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 |
标头 | fileapi.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |