关于filetime结构
Cform 2004-01-29 07:45:08 //利用句柄查出过程的详细信息
#define _WIN32_WINNT 0X500
#define WINVER 0X500
#include <windows.h>
...
//当在用户模式机内核模式下都提供所消耗时间,在内核模式下进行所耗时间的64位计算的帮助助方法;
DOWRD GETKERNELmODEpERCENTAGE(const FILETIME & ftkernel,
const FILETIME & ftuser)
{
//将FILETIME结构转化为64位整数千;
ULONGLONG qwkernel=(((ULONGLONG)ftkernel.dwHightDateTime<<32) +ftkernel.dwLowDateTime);
ULONGLONG qwUser=(((ULONGLONG)ftUser.dwHightDateTime<<32)
+ftUser.dwLowDateTime);
ULONGLONG qwTotal=qwkernel+qwUser;
...
有几点不明白FILETIME结构中dwHighDateTime和dwLowDateTime分别是32位值,可我不知道知道具体表达法,两个都年月日时分秒,还是其中一个是年月日另一个是时分秒?
上题中提到把两个值转换成64位值相加,总不能是2004年再加2004年吧?可还请高手明示?