鱼C论坛

 找回密码
 立即注册
查看: 2732|回复: 0

[API档案] FILETIME 结构

[复制链接]
发表于 2016-5-23 22:07:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注:本文档由 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)所有,转载请注明来源。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 16:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表