gangg
驱动牛犊
驱动牛犊
  • 注册日期2004-04-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1304回复:3

请教取设备描述的问题!!

楼主#
更多 发布于:2004-12-14 11:27
我在用SetupDiGetClassDevs和SetupDiGetDeviceRegistryProperty取一些设备的描述信息,在我枚举所有设备的情况下,可以取到如SPDRP_CLASS,SPDRP_DEVICEDESC的相关信息,但在我使用了GUID和对枚举的设备类进行限制以后,能就只能取到设备的SPDRP_DEVICEDESC而取不到SPDRP_CLASS了?这是为什么呢???
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-14 11:40
应该不会的,每一个GUID对应一类设备,有没有什么出错信息?
SetupDiGetDeviceRegistryProperty主要是前三个参数,要确保你的第二个参数与第一个参数必须是一致的,也就是它是通过第一个参数得到的,否则可能出问题。
在交流中学习。。。
gangg
驱动牛犊
驱动牛犊
  • 注册日期2004-04-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-14 13:43
可是的确是这样的:
1.hDevInfo = SetupDiGetClassDevs( NULL,NULL, NULL, DIGCF_PRESENT|DIGCF_ALLCLASSES ); 可以用SetupDiGetDeviceRegistryProperty取到SPDRP_CLASS。

2.hDevInfo = SetupDiGetClassDevs( &GUID_DEVCLASS_CDROM,NULL, NULL, DIGCF_PRESENT); 用这个句柄就取不到SPDRP_CLASS了,取到的是个空的!
gangg
驱动牛犊
驱动牛犊
  • 注册日期2004-04-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-14 13:53
有个出错信息“数据无效”,不知是什么意思!
游客

返回顶部