原文链接 -> 传送门
函数功能:
GetFileTime 函数用于获取指定文件或目录被创建,最后被访问和最后被修改的日期和时间。
API 函数原型:
注释:_In_ 说明该参数是输入的,_Out_ 说明该参数是输出的,_opt_ 说明该参数是可选的。
BOOL WINAPI GetFileTime( _In_ HANDLE hFile, _Out_opt_ LPFILETIME lpCreationTime, _Out_opt_ LPFILETIME lpLastAccessTime, _Out_opt_ LPFILETIME lpLastWriteTime );
参数解析:
|
参数 |
含义 |
|
hFile |
1. 将获取日期与时间的文件或目录的句柄 |
|
lpCreationTime |
1. 指向一个 FILETIME 结构的指针,该结构将获取文件或目录的创建日期和时间 |
|
lpLastAccessTime |
1. 指向一个 FILETIME 结构的指针,该结构将获取文件或目录的最后被访问的日期和时间 |
|
lpLastWriteTime |
1. 指向一个 FILETIME 结构的指针,该结构将获取文件或目录的最后被写入,被截断,或被重写(例如,使用 WriteFile 函数或 SetEndOfFile 函数)的日期和时间 |
返回值:
1. 如果函数调用成功,则返回值为非 0;
2. 如果函数调用失败,则返回值为 0;
获取有关错误的更多信息,请调用 GetLastError 函数。
备注:
1. 并不是所有的文件系统都能记录创建时间和最后访问时间,并且并不是所有的文件系统记录方式都相同。例如,在 FAT 文件系统上,创建时间有 10 毫秒的分辨率,写时间有 2 秒的分辨率,并且访问时间有 1 天的分辨率(访问日期)。因此,对于使用 SetFileTime 函数设置的时间,GetFileTime 函数可能不会总是返回相同的时间。
2. NTFS 文件系统在最后访问一个文件之后延迟长达一个小时才更新文件的最后访问时间。NTFS 文件系统也允许禁用更新最后访问时间。在 NTFS 卷上默认不会更新最后访问时间。
Windows Server 2003 and Windows XP:在 NTFS 卷上最后访问时间默认会被更新。
3. 更多信息,请参见 File Times。
4. 如果你重命名或删除一个文件,然后不久后又恢复了这个文件,Windows 会查找用来恢复该文件信息的缓存。被缓存的信息包含文件的短/长名称对和创建时间。
需求:
|
Minimum supported client |
Windows XP 专业版 [桌面应用程序 | Windows 商店应用程序] |
|
Minimum supported server |
Windows 2003 服务器版 [桌面应用程序 | Windows 商店应用程序] |
|
Header |
FileAPI.h (包含于 Windows.h); |
|
Library |
Kernel32.lib |
|
DLL |
Kernel32.dll |




