我无法编译我的驱动程序代码,因为我的程序在编译时显示错误。有人可以帮助我。
在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 :(得分:2)
您在内核代码中包含用户模式标头。
删除Windows.h
标题。