2013-07-16 103 views
0

我無法編譯我的驅動程序代碼,因爲我的程序在編譯時顯示錯誤。有人可以幫幫我嗎。編譯錯誤使用Winbase.h

在Windows 7 32位操作系統

包含的頭文件使用WINDDK構建環境:

#include <wdm.h> 
    #include <Windows.h> 
    #include <windef.h> 
    #include <ntddk.h> 
    #include <Ntifs.h> 
    #include <fltkernel.h> 

錯誤:

1>errors in directory c:\simple_driver\driver\driver 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(318) : error C2061: syntax error : id 
    entifier 'CRITICAL_SECTION' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(318) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(319) : error C2061: syntax error : id 
    entifier 'PCRITICAL_SECTION' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(319) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(320) : error C2061: syntax error : id 
    entifier 'LPCRITICAL_SECTION' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(320) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(322) : error C2061: syntax error : id 
    entifier 'CRITICAL_SECTION_DEBUG' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(322) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(323) : error C2061: syntax error : id 
    entifier 'PCRITICAL_SECTION_DEBUG' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(323) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(324) : error C2061: syntax error : id 
    entifier 'LPCRITICAL_SECTION_DEBUG' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(324) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(332) : error C2061: syntax error : id 
    entifier 'INIT_ONCE' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(332) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(333) : error C2061: syntax error : id 
    entifier 'PINIT_ONCE' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(333) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(334) : error C2061: syntax error : id 
    entifier 'LPINIT_ONCE' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(334) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(363) : error C2146: syntax error : mi 
    ssing ')' before identifier 'InitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(363) : error C2061: syntax error : id 
    entifier 'InitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(363) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(363) : error C2059: syntax error : ', 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(366) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(372) : error C2146: syntax error : mi 
    ssing ')' before identifier 'InitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(372) : error C2061: syntax error : id 
    entifier 'InitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(372) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(373) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(379) : error C2146: syntax error : mi 
    ssing ')' before identifier 'InitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(379) : error C2061: syntax error : id 
    entifier 'InitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(379) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(379) : error C2059: syntax error : ', 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(383) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(389) : error C2146: syntax error : mi 
    ssing ')' before identifier 'lpInitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(389) : error C2061: syntax error : id 
    entifier 'lpInitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(389) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(389) : error C2059: syntax error : ', 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(393) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(399) : error C2146: syntax error : mi 
    ssing ')' before identifier 'lpInitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(399) : error C2061: syntax error : id 
    entifier 'lpInitOnce' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(399) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(399) : error C2059: syntax error : ', 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(402) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(410) : error C2061: syntax error : id 
    entifier 'SRWLOCK' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(410) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(410) : error C2059: syntax error : ', 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(418) : error C2146: syntax error : mi 
    ssing ')' before identifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(418) : error C2061: syntax error : id 
    entifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(418) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(419) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(425) : error C2146: syntax error : mi 
    ssing ')' before identifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(425) : error C2061: syntax error : id 
    entifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(425) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(426) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(432) : error C2146: syntax error : mi 
    ssing ')' before identifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(432) : error C2061: syntax error : id 
    entifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(432) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(433) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(439) : error C2146: syntax error : mi 
    ssing ')' before identifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(439) : error C2061: syntax error : id 
    entifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(439) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(440) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(446) : error C2146: syntax error : mi 
    ssing ')' before identifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(446) : error C2061: syntax error : id 
    entifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(446) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(447) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(453) : error C2146: syntax error : mi 
    ssing ')' before identifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(453) : error C2061: syntax error : id 
    entifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(453) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(454) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(460) : error C2146: syntax error : mi 
    ssing ')' before identifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(460) : error C2061: syntax error : id 
    entifier 'SRWLock' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(460) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(461) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(467) : error C2061: syntax error : id 
    entifier 'CONDITION_VARIABLE' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(467) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(467) : error C2059: syntax error : ', 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(473) : error C2146: syntax error : mi 
    ssing ')' before identifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(473) : error C2061: syntax error : id 
    entifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(473) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(474) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(480) : error C2146: syntax error : mi 
    ssing ')' before identifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(480) : error C2061: syntax error : id 
    entifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(480) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(481) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(487) : error C2146: syntax error : mi 
    ssing ')' before identifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(487) : error C2061: syntax error : id 
    entifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(487) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(488) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(494) : error C2146: syntax error : mi 
    ssing ')' before identifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(494) : error C2061: syntax error : id 
    entifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(494) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(494) : error C2059: syntax error : ', 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(497) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(503) : error C2146: syntax error : mi 
    ssing ')' before identifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(503) : error C2061: syntax error : id 
    entifier 'ConditionVariable' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(503) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(503) : error C2059: syntax error : ', 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(507) : error C2059: syntax error : ') 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(554) : error C2061: syntax error : id 
    entifier 'LPLDT_ENTRY' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(554) : error C2059: syntax error : '; 
    ' 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(2288) : error C2373: 'InterlockedIncr 
    ement' : redefinition; different type modifiers 
    1>c:\winddk\7600.16385.1\inc\api\winbase.h(2288) : error C1003: error count exce 
    eds 100; stopping compilation 
    Linking Executable - objchk_win7_x86\i386\driver.sys 
    1>link : error LNK1181: cannot open input file 'c:\simple_driver\driver\driver\o 
    bjchk_win7_x86\i386\code.obj' 
    BUILD: Finish time: Thu Jun 20 01:27:15 2013 
    BUILD: Done 

    3 files compiled - 4 Warnings - 102 Errors - 173 LPS 
    1 executable built - 1 Error 
+0

在其他頭文件之前加上'windows.h'。 –

回答

2

你包括內核代碼的用戶模式頭。 刪除Windows.h標題。