2017-04-24 13 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を削除することができます。

編集:タイプ:wtm.hをntifs.hに置き換えます。

+0

「wdm.h」を2回入力しました。 「Ntifs.hを削除する」または「Ntifsにも含める」という意味ですか? – quetzalcoatl

関連する問題