阅读:4701回复:3
请教!使用WDK为什么引入个winddi.h都出这么多错?
在vista ultimate 用VS5005,WDK(是Windows Driver Kits 6000, 不是DDK)
设置好include路径(C:\WinDDK\6000\inc\api)后 仿照例子,引入下面一些头文件不做任何操作 #include <STDDEF.H> #include <STDLIB.H> #include <OBJBASE.H> #include <STDARG.H> #include <STDIO.H> #include <INITGUID.H> #include <WINDEF.H> #include <WINERROR.H> #include <WINBASE.H> #include <WINGDI.H> #ifdef __cplusplus extern "C" { #endif // cplusplus #include <WINDDI.H> #ifdef __cplusplus } #endif // cplusplus 发现引入的winddi.h在编译的时候有错误 (不引入winddi.h,仅仅引入上面的是没问题的) 错误出在winddi.h中这几句话,很奇怪的语法,不明白 line 1624: __field_bcount(cjBits) PVOID pvBits; line 1719: __in_data_source(USER_MODE) ULONG iType, VS提示错误如下: 1>C:\WinDDK\6000\inc\api\winddi.h(1624) : error C2061: syntax error : identifier 'cjBits' 1>C:\WinDDK\6000\inc\api\winddi.h(1624) : error C3646: 'PVOID' : unknown override specifier 1>C:\WinDDK\6000\inc\api\winddi.h(1624) : error C3646: 'pvBits' : unknown override specifier .... 然后我在google找了一下__field_bcount,发现这貌似是一个系统函数或者宏,但是又找不到相关的定义 请问这个是什么东西? 应该怎么处理? 谢谢 |
|
沙发#
发布于:2008-03-10 14:27
引用文件冲突了 吧WDK引用路径提前到VS工程设置最前头就好了
|
|
板凳#
发布于:2008-01-27 11:32
__field_bcount这些宏再SpecialStrings.h文件里面都有定义,估计是开关没有设置好,没打开
|
|
地板#
发布于:2008-01-25 16:16
没有人遇到这个问题么?还是大家不屑于回答啊?
我发现用WDK下面的命令行环境能够用CL命令编译过的,但是环境配置太大了,还不知道什么设置在起作用 研究中...... |
|