马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
注:本文档由 Diu 翻译,小甲鱼校对。
原文链接 -> 传送门
函数功能:
SetFileTime 函数用于设置指定文件或目录被创建,最后被访问和最后被修改的日期和时间。
API 函数原型:
注释:_In_ 说明该参数是输入的,_opt_ 说明该参数是可选的。BOOL WINAPI SetFileTime(
_In_ HANDLE hFile,
_In_opt_ const FILETIME *lpCreationTime,
_In_opt_ const FILETIME *lpLastAccessTime,
_In_opt_ const FILETIME *lpLastWriteTime
);
参数解析:
参数 | 含义 | hFile | 1. 指定文件或目录的句柄
2. 该句柄必须是使用 CreateFile 函数,并传递 FILE_WRITE_ATTRIBUTES 访问权限而产生的。更多信息,请参见 File Security and Access Rights | lpCreationTime | 1. 指向一个 FILETIME 结构的指针,该结构包含新的文件或目录的创建日期和时间
2. 如果应用程序不需要获取该信息,该参数可以为 NULL | lpLastAccessTime | 1. 指向一个 FILETIME 结构的指针,该结构包含新的文件或目录的最后被访问的日期和时间
2. 最后被访问时间包括文件或目录最后被修改的时间,最后被读取的时间,最后被运行的时间(如果是可执行文件)
3. 如果应用程序不需要获取该信息,该参数可以为 NULL | lpLastWriteTime | 1. 指向一个 FILETIME 结构的指针,该结构包含新的文件或目录的最后被写入,被截断,或被重写(例如,使用 WriteFile 函数或 SetEndOfFile 函数)的日期和时间
2. 为了防止使用给定句柄的文件操作修改最后访问时间,在打开文件句柄之后立刻调用 SetFileTime 函数,并传递一个 FILETIME 结构,并且该结构的 dwLowDateTime 和 dwHighDateTime 成员都被设为 0xFFFFFFFF
3. 如果应用程序不需要获取该信息,该参数可以为 NULL |
返回值:
1. 如果函数调用成功,则返回值为非 0;
2. 如果函数调用失败,则返回值为 0;
获取有关错误的更多信息,请调用 GetLastError 函数。
备注:
并不是所有的文件系统都能记录创建时间和最后访问时间,并且并不是所有的文件系统记录方式都相同。例如,在 FAT 文件系统上,创建时间有 10 毫秒的分辨率,写时间有 2 秒的分辨率,并且访问时间有 1 天的分辨率(访问日期)。因此,对于使用 SetFileTime 函数设置的时间,GetFileTime 函数可能不会总是返回相同的时间。NTFS 文件系统在最后访问一个文件之后延迟长达一个小时才更新文件的最后访问时间。
需求:
Minimum supported client | Windows XP 专业版 [桌面应用程序 | Windows 商店应用程序] | Minimum supported server | Windows 2003 服务器版 [桌面应用程序 | Windows 商店应用程序] | Header | FileAPI.h (包含于 Windows.h);
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 和 Windows XP 系统上为 WinBase.h (包含于 Windows.h) | Library | Kernel32.lib | DLL | Kernel32.dll |
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
|