plr
plr
驱动牛犊
驱动牛犊
  • 注册日期2002-03-13
  • 最后登录2002-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2883回复:4

关于setupapi.h----紧急求助(20分)

楼主#
更多 发布于:2002-05-06 15:04
我现在在编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]
hgw
hgw
驱动牛犊
驱动牛犊
  • 注册日期2002-04-23
  • 最后登录2009-05-15
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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也找不到答案,请问到底我应该如何做??不胜感激。
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-05-07 16:25
用户被禁言,该主题自动屏蔽!
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-07 16:56

打开
->工程
->设置
设置 LINK 标签
在 连接对象/库模块 输入框
加入  setupapi.lib 多项时用空格隔开
qianjping
驱动牛犊
驱动牛犊
  • 注册日期2004-03-13
  • 最后登录2008-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-19 11:30
楼上的几位老大,我是一个超级菜鸟,现在也在做usb的应用程序,我现在还不知道做这个具体需要什么,一句话――什么都不知道!!
老大们,能不能介绍一下开发流程!非常感谢!!
游客

返回顶部