驱动开发编译异常

驱动开发编译错误
开发环境: vs2010   NT式的驱动程序
本人在开发驱动程序,编译时出现如下错误:


1>------ 已启动全部重新生成: 项目: genprintyugao2, 配置: Debug Win32 ------
1>生成启动时间为 2014-5-4 8:57:53。
1>_PrepareForClean:
1>  正在删除文件“Debug\genprintyugao2.lastbuildstate”。
1>InitializeBuildStatus:
1>  正在对“Debug\genprintyugao2.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1>  winprint.cpp
1>e:\driverprogram\genprintyugao2\genprintyugao2\local.h(15): error C2371: “NTSTATUS_VisualDDK_Helper_t”: 重定义;不同的基类型
1>          e:\driverprogram\genprintyugao2\genprintyugao2\VisualDDKHelpers.h(17) : 参见“NTSTATUS_VisualDDK_Helper_t”的声明
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C2146: 语法错误: 缺少“;”(在标识符“CRITICAL_SECTION”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C2146: 语法错误: 缺少“;”(在标识符“PCRITICAL_SECTION”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C2146: 语法错误: 缺少“;”(在标识符“CRITICAL_SECTION_DEBUG”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(323): error C2146: 语法错误: 缺少“;”(在标识符“PCRITICAL_SECTION_DEBUG”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(323): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(323): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(410): error C2146: 语法错误: 缺少“;”(在标识符“SRWLOCK”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(410): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(410): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(410): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(419): error C2146: 语法错误: 缺少“)”(在标识符“SRWLock”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(419): warning C4229: 使用了记时错误: 忽略数据上的修饰符
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(419): error C2182: “InitializeSRWLock”: 非法使用“void”类型
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(419): error C2491: “InitializeSRWLock”: 不允许 dllimport 数据 的定义
ATUS_VisualDDK_Helper_t”: 重定义;不同的基类型
1>          e:\driverprogram\genprintyugao2\genprintyugao2\VisualDDKHelpers.h(17) : 参见“NTSTATUS_VisualDDK_Helper_t”的声明
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C2146: 语法错误: 缺少“;”(在标识符“CRITICAL_SECTION”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C2146: 语法错误: 缺少“;”(在标识符“PCRITICAL_SECTION”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C2146: 语法错误: 缺少“;”(在标识符“CRITICAL_SECTION_DEBUG”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(323): error C2146: 语法错误: 缺少“;”(在标识符

。。。。。。。。。。。。。。
。。。。。。。。。。。。。。
。此处省略很多行。。。。。。
。。。。。。。。。。。。。。
。。。。。。。。。。。。。。


1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(11115): error C2061: 语法错误: 标识符“AUDIT_EVENT_TYPE”
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(11115): fatal error C1003: 错误计数超过 100;正在停止编译
1>  正在生成代码...
1>
1>生成失败。
1>
1>已用时间 00:00:02.42
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========



请各位帮忙看下,上面的报错怎么解决?

------解决方案--------------------
看来VS2010还真是问题多,我用的是VC6.0+WDK。估计你的问题还是编译环境设置问题,代码应该问题不大。
------解决方案--------------------