阅读:1438回复:5
书上的WDM1例子(EXE)无法通过,提示SETUPAPI。H有错。。。
我的编绎环境:
win2000,win2000DDK,VC++6.0 -------- <<WINDOWS WDM设备驱动程序开发>> 例子:WDM1(EXE) 驱动程序我是BUILD成功了. 但是测试WIN32用户程序时有问题, 问题如下: ---------------------------------- 我把原先的#INCLUDE \"C:\\98DDK\\....\\SETUPAPI.H\" 改为 \"C:\\PROGRAME FILES\\NTDDK\\....\\SETUPAPI.H\" 可是编绎是出现36个ERRORS, 全都是单元SETUPAPI.H出错. c:\\program files\\ntddk\\inc\\setupapi.h(514) : error C2146: syntax error : missing \';\' before identifier \'Reserved\' c:\\program files\\ntddk\\inc\\setupapi.h(514) : error C2501: \'ULONG_PTR\' : missing storage-class or type specifiers c:\\program files\\ntddk\\inc\\setupapi.h(514) : error C2501: \'Reserved\' : missing storage-class or type specifiers c:\\program files\\ntddk\\inc\\setupapi.h(526) : error C2146: syntax error : missing \';\' before identifier \'Reserved\' c:\\program files\\ntddk\\inc\\setupapi.h(526) : error C2501: \'ULONG_PTR\' : missing storage-class or type specifiers ......等等错误... Wdm1Test.exe - 36 error(s), 0 warning(s) ---------------------------------- 哪位“过来人”帮我指点一下。小弟感激不尽! :( :( [编辑 - 5/31/03 by aKnightChen] |
|
沙发#
发布于:2003-05-31 11:02
要把setupapi.lib加入到项目中,书里面也有关于例子的说明,你再看看
|
|
|
板凳#
发布于:2003-06-04 15:59
我在LINK属性里加上(Object/Library Modules)里加上:
C:\\Program Files\\NTDDK\\inc\\setupapi.lib 即改为了: kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib C:\\Program Files\\NTDDK\\inc\\setupapi.lib 还是不行呀. 仍是36个ERROR! ---- 会不会WDM1的EXE例子只能在WIN98编绎通过??? :mad: :mad: :mad: |
|
地板#
发布于:2003-06-04 16:43
如果你是使用VC++6.0的话,直接包含setupapi.h这个头文件,不使用DDK中带的,像这样#include \"setupapi.h\"。
Chris Cant的书里面是说VC++5.0的setupapi.h过时…… 但是lib文件还是要加入工程设置的。 |
|
地下室#
发布于:2003-06-04 16:57
搞定!!!
爱死你们这些高手了! :P 我在LINK里加上 setupapi.h 而不是 \"c:\\....\\ntddk\\setupapi.h\" 同时在程序里将#INCLUDE \"C:\\WIN98\\DDK\\....\\SETUPAPI.H\" 改为 #include \"setupapi.h\" 就成功了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 不过下面又有一个问题,安将时.inf文件有错,提示\"找不到硬件”,我该怎么改INF文件呢? |
|
5楼#
发布于:2003-06-04 17:22
搞定!!! 你要是pci设备的话,Hardware ID只用device id和vendor id,其余的什么版本id都不要 |
|
|