我从网上下载了一个testusb的程序 http://www.vckbase.com/code/winsys/driver/testusb.rar
用来枚举usb设备的一个测试程序,需要DDK配合编译
我用vs2005+ddk 就是编译不过
网上解决的错误的办法我都试过了:
不要跟我说我没加库 我加了hid.lib setupapi.lib
不要说我没用extern引用头文件 我用了
extern "C" {
#include "hidsdi.h" //DDK文件
#include
}
不要说我没试着注释掉某个结构体,我也试了 就是编译不过
1>d:\winddk\7600.16385.0\inc\api\usbiodef.h(204) : error C2065: 'PASSIVE_LEVEL' : undeclared identifier
1>d:\winddk\7600.16385.0\inc\api\usbiodef.h(207) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\winddk\7600.16385.0\inc\api\usbiodef.h(207) : error C2199: syntax error : found 'void (' at global scope (was a declaration intended?)
1>d:\winddk\7600.16385.0\inc\api\hidpi.h(303) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\winddk\7600.16385.0\inc\api\hidpi.h(303) : error C2374: '__drv_maxIRQL' : redefinition; multiple initialization
1> d:\winddk\7600.16385.0\inc\api\usbiodef.h(204) : see declaration of '__drv_maxIRQL'
1>d:\winddk\7600.16385.0\inc\api\hidpi.h(303) : error C2146: syntax error : missing ';' before identifier 'NTSTATUS
这是错误片段
如果有可编译的工程 打包发我也行 多谢啦!
顶楼主,我也试了,出现大堆 union 没标识符,没定义的东东大把,也出现了大量错误!
不过后来乱搞,从C:\WinDDK\7600.16385.0\inc\api弄出些文件放在 程序当前目录后就行了,Debug,Release均通过! usbhead.h中定义的结构得都注释掉!
项目我放下在了 [url=http://u.115.com/file/f67874f19d][/url],楼主自己去下!
PASSIVE_LEVEL是写驱动的时候才会涉及到的,这是一个任务优先级的值。
setupapi是不需要涉及这层东西的,如果你只是要枚举设备,非常简单,等下饭后我给你PO个源码。
{
GetDeviceInfo();
system("pause")
ddk7600就是编译不过去,我装了个DDK6000 就好了 我(#‵′)靠
另外一个BT问题 :
我用vs2005编译驱动,这个没问题
问题是:我必须改动.c文件才会重新编译
改动.h文件 不会重新编译
真不爽啊,每次改.h文件都要随便改一下.c文件 编译以后 改的.h文件才会生效
这个有高手指点下吗?
是哪个编译参数的问题吗?
能不能再详细讲讲!怎么感觉DDK6000是vista的呀,DDK7600是win7的,你到底要在什么平台上开发呀。