FILETIME 结构
注:本文档由 n0noper 翻译,小甲鱼校对。MENUITEMINFO 结构
FILETIME 结构包含一个表示从 1601 年 1 月 1 日(UTC)开始的以 100 纳秒为单位的 64 位值。
结构原型:
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME, *PFILETIME;
成员解析:
成员 含义
dwLowDateTime 文件时间值的低 32 位
dwHighDateTime 文件时间值的高 32 位
备注:
1. 为了转换 FILETIME 结构体为一个方便为用户显示的时间值,使用 FileTimeToSystemTime 函数。
2. 不建议用户对 FILETIME 结构体获取的相对时间进行增加或减少操作。相反,用户应该拷贝时间结构体的低位部分和高位部分到 ULARGE_INTEGER 结构体,在 QuadPart 成员执行 64 位算术操作,并且拷贝 LowPart 和 HighPart 成员到 FILETIME 结构体。
3. 不能强制转换一个 FILETIME 结构体的指针为 ULARGE_INTEGER* 或 __int64* 类型的值,因为这将会导致 64 位 Windows 系统下对齐错误。
4. 不是所有的文件系统都可以记录创建和最后一次访问的时间,并且不是所有的文件系统都以相同的方式记录。例如,在 NT FAT 文件系统下,文件创建时间以 100 毫秒为时间间隔单位,文件写入时间以 2 秒为时间间隔单位,文件访问时间以一天(真正的访问日期)为时间间隔单位;在 NTFS 文件系统下,文件访问时间以 1 小时为时间间隔单位。因为,通过 GetFileTime 函数获取使用 SetFileTime 函数设置的文件信息时,可能会不同。此外,FAT 文件系统在磁盘上记录的是当前时间,而 NTFS 文件系统在磁盘上记录的是 UTC 时间。获取更多信息,请查看 File Times。
5. 一个函数可以使用通常通过 dwLowDateTime 和 dwHighDateTime 成员指定的非零或正数值以外的值的 FILETIME 结构体。例如,SetFileTime 函数使用 0xFFFFFFFF 来指定文件上一次的访问时间应该被保存。获取更多信息,请查看您调用的函数的主题。
需求:
Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Winuser.h (包含于 Windows.h)
Unicode and ANSI names MENUITEMINFOW (Unicode) 和 MENUITEMINFOA (ANSI)
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
页:
[1]