gpt4 book ai didi

c++ - 使用 Winbase.h 的编译错误

转载 作者:行者123 更新时间:2023-11-28 03:13:28 26 4
gpt4 key购买 nike

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

在 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

最佳答案

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

关于c++ - 使用 Winbase.h 的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17674628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com