负dwLowDateTime在FILETIME结构中的含义是什么?

时间:2012-10-29 14:12:30

标签: c++ c winapi datetime

我知道FILETIME结构从1601年1月1日起以100纳秒的步长形成了日期时间值。但是,dwLowDateTime的值是什么意味着小于0 ???

1 个答案:

答案 0 :(得分:7)

这意味着您将其视为int而非unsigned int,因此它可能显示为负数。

正如Matteo Italia所说,最好将它放在ULARGE_INTEGER中,如下所示:

ULARGE_INTEGER uli;
uli.LowPart  = ft.dwLowDateTime;
uli.HighPart = ft.dwHighDateTime;
__int64 filetime64 = uli.QuadPart;

您甚至可以使用memcpy执行以下操作:

__int64 fileTime64;
memcpy( &fileTime64, &ft, sizeof( __int64 ) );