使用Winbase.h编译错误

时间:2013-07-16 10:51:15

标签: c++ winapi compiler-errors driver wdk

我无法编译我的驱动程序代码,因为我的程序在编译时显示错误。有人可以帮助我。

在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

1 个答案:

答案 0 :(得分:2)

您在内核代码中包含用户模式标头。 删除Windows.h标题。