2017-04-24 26 views
1

我的编译器(vs2012)拒绝编译下面几行代码。他将PEPROCESS和PETHREAD的符号重新命名。我该如何解决这个问题?为什么我不能同时使用两个头文件?不能在同一个文件中包含wdm.h和ntifs.h

#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

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

编辑:错字:与ntifs.h

+0

你说 'WDM.H' 两次更换WDM.H。你的意思是'删除Ntifs.h'还是'也包含在Ntifs'中? – quetzalcoatl

相关问题