不能在同一个文件中包含wdm.h和ntifs.h

时间:2017-04-24 05:03:07

标签: c++ wdk

我的编译器(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;
}

1 个答案:

答案 0 :(得分:1)

我自己找到了解决方案。在我的场景中,我可以删除wdm.h.因为KeQuerySystemTime也包含在ntifs.h中。所以我可以简单地删除wdm.h。

编辑:拼写错误:用ntifs.h替换wdm.h