我知道该FILETIME
结构从 1601 年 1 月 1 日开始以 100 纳秒的步长形成日期时间值。但是小于 0 的值是什么意思dwLowDateTime
?
问问题
910 次
1 回答
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 ) );
于 2012-10-29T15:26:28.530 回答