阅读:2883回复:4
关于setupapi.h----紧急求助(20分)
我现在在编usb的应用程序,不过编译有6个错误.请高手指点一下吧,事情紧急,谢谢大家了!
编译错误显示是: Linking... D12_testDlg.obj : error LNK2001: unresolved external symbol __imp__timeGetTime@0 device.obj : error LNK2001: unresolved external symbol __imp__SetupDiGetDeviceInterfaceDetailA@24 device.obj : error LNK2001: unresolved external symbol __imp__SetupDiEnumDeviceInterfaces@20 device.obj : error LNK2001: unresolved external symbol __imp__SetupDiDestroyDeviceInfoList@4 device.obj : error LNK2001: unresolved external symbol __imp__SetupDiGetClassDevsA@16 Debug/D12_test.exe : fatal error LNK1120: 5 unresolved externals Error executing link.exe. VC6.0,NTDDK,在device.cpp中已经包含头文件setupapi.h了. 以上的所谓的外部符号已经在setupapi中定义了呀! [编辑 - 5/6/02 作者: plr] |
|
沙发#
发布于:2002-05-07 09:53
link Setupapi.lib 试试,如果只是用setupapi.h,不需要用NTDDK,
VC6的头文件里自带,不过必须link Setupapi.lib 你在用NTDDK吗?我有一个2000DDK的问题,请指教 2000DDK安装完毕后,我在自己的MFC程序中包含了2000DDK的一个头文件,想用其中定义的一些东东,结果编译错误,该头文件中有变量未定义(估计是定义在其他我不知道的头文件中),我该如何做才能在自己的MFC程序正确包含下述2000DDK的头文件: #include <cfgmgr32.h> // from win2k ddk #include <devioctl.h> // from win2k ddk #include <ntdddisk.h> //from win2k ddk #include <ntddscsi.h> //from win2k ddk. 另外当我包含了ntddk.h这个2000DDK头文件后,编译器告诉我有大量的变量重复定义,为什么?难道说我无法在MFC程序中使用Windows 2000 DDK的东东??? 另外还有一问: 我要在程序中识别不同的USB设备,然后把该设备的连接成功的信息和该usb设备的盘符(E:,F:之类的)当作参数传递,该usb设备的驱动已经写好了,插在pc上可以正常使用,并且会自动生成盘符,不过该盘符不是固定的,随着不同的情况(如安装了虚拟光碟或其他usb设备)盘符会自动变化,那么我如何才能正确的获得我需要的信息(该设备的连接成功的信息和该usb设备的盘符)呢? 写usb驱动的人告诉我,这个usb的hardwareID是不变的,于是我利用函数SetupDiGetClassDevs,SetupDiEnumDeviceInfo,SetupDiEnumDeviceInfo获取该设备的hardwareID,于是能够正确的判断该usb设备,可是就是无法获得盘符信息,我试了各种方法,包括GetVolumeInformation,QueryDosDevice,GetDriverType,查注册表等等,就是无法同时获得设备的连接成功的信息(即该设备的hardwareID)和该usb设备的盘符,另外我还试了CreateFile和DeviceIoConctrl,还是不行,我查遍了整个MSDN也找不到答案,请问到底我应该如何做??不胜感激。 |
|
板凳#
发布于:2002-05-07 16:25
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2002-05-07 16:56
打开 ->工程 ->设置 设置 LINK 标签 在 连接对象/库模块 输入框 加入 setupapi.lib 多项时用空格隔开 |
|
地下室#
发布于:2004-08-19 11:30
楼上的几位老大,我是一个超级菜鸟,现在也在做usb的应用程序,我现在还不知道做这个具体需要什么,一句话――什么都不知道!!
老大们,能不能介绍一下开发流程!非常感谢!! |
|