我的编译器(vs2012)拒绝编译以下代码行。他为PEPROCESS和PETHREAD重新定义了符号。我该如何解决这个问题?为什么我不能同时使用两个标题?
#include <wdm.h>
#include <Ntifs.h>
double hal_datetime_utc_now()
{
LARGE_INTEGER gmtTime;
KeQuerySystemTime(&gmtTime);
ULONG utc_now;
RtlTimeToSecondsSince1970(&gmtTime, &utc_now);
return (double)utc_now;
}
答案 0 :(得分:1)
我自己找到了解决方案。在我的场景中,我可以删除wdm.h.因为KeQuerySystemTime也包含在ntifs.h中。所以我可以简单地删除wdm.h。
编辑:拼写错误:用ntifs.h替换wdm.h