wangxin_china
驱动中牛
驱动中牛
  • 注册日期2003-03-28
  • 最后登录2008-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2075回复:9

如何打开设备,是否可以不使用GUID就可以获得设备名称?

楼主#
更多 发布于:2005-01-05 15:26
我想连接一个已经在系统中安装完驱动的USB设备(比如U盘),但是不知道GUID,怎么打开这个设备呢?我想了一个笨办法,在注册表中找这个设备的GUID,请问各位有没有好点的办法?
还有我以前看了一篇关于使用API操作U盘的文章,谁知道在哪里啊,我找不到了。谢谢~~~
wangxin_china
驱动中牛
驱动中牛
  • 注册日期2003-03-28
  • 最后登录2008-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-05 16:21
我看了USBView,里面是用打开文件的发生查询的,有没有其他办法查询所有设备呢?
acidfish
驱动小牛
驱动小牛
  • 注册日期2002-05-20
  • 最后登录2009-11-11
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-05 16:37
硬盘的Device Interface Class GUID在ddk的ntddstor.h文件里边有定义。是 {53f56307-b6bf-11d0-94f2-00a0c91efb8b}
你可以依次调用
SetupDiGetClassDevs
SetupDiEnumDeviceInterfaces
SetupDiGetDeviceInterfaceDetail
来得到disk device interface class下的所有设备。包括普通硬盘设备和可移动硬盘设备。
当然你也可以察看
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
下边的key,可以得到比较直观的印象。

hehe,给点分吧。
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-05 17:41
硬盘的Device Interface Class GUID在ddk的ntddstor.h文件里边有定义。是 {53f56307-b6bf-11d0-94f2-00a0c91efb8b}
你可以依次调用
SetupDiGetClassDevs
SetupDiEnumDeviceInterfaces
SetupDiGetDeviceInterfaceDetail
来得到disk device interface class下的所有设备。包括普通硬盘设备和可移动硬盘设备。
当然你也可以察看
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlDeviceClasses{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
下边的key,可以得到比较直观的印象。

hehe,给点分吧。
 


用GUID_DEVINTERFACE_DISK遍历磁盘设备,然后用SetupDiGetDeviceRegistryProperty + SPDRP_ENUMERATOR_NAME,判断结果是否为USBSTOR,如果是,则为USB存储设备。
在交流中学习。。。
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-05 17:52
[quote]硬盘的Device Interface Class GUID在ddk的ntddstor.h文件里边有定义。是 {53f56307-b6bf-11d0-94f2-00a0c91efb8b}
你可以依次调用
SetupDiGetClassDevs
SetupDiEnumDeviceInterfaces
SetupDiGetDeviceInterfaceDetail
来得到disk device interface class下的所有设备。包括普通硬盘设备和可移动硬盘设备。
当然你也可以察看
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlDeviceClasses{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
下边的key,可以得到比较直观的印象。

hehe,给点分吧。
 


用GUID_DEVINTERFACE_DISK遍历磁盘设备,然后用SetupDiGetDeviceRegistryProperty + SPDRP_ENUMERATOR_NAME,判断结果是否为USBSTOR,如果是,则为USB存储设备。 [/quote]

讲得很清楚了
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
wangxin_china
驱动中牛
驱动中牛
  • 注册日期2003-03-28
  • 最后登录2008-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-05 21:32
谢谢各位指点,分先送给各位了。
我刚学希望能再详细些,哪里有例子呢?
wangxin_china
驱动中牛
驱动中牛
  • 注册日期2003-03-28
  • 最后登录2008-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-05 21:38
我只是拿U盘举个例子,我想实现列举获取所有USB设备(在树或列表中显示),再根据用户的选择得到特定设备的句柄。
JasonClark
驱动牛犊
驱动牛犊
  • 注册日期2005-01-05
  • 最后登录2005-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-01-06 00:28
thk
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-01-06 08:56
我只是拿U盘举个例子,我想实现列举获取所有USB设备(在树或列表中显示),再根据用户的选择得到特定设备的句柄。

枚举所有的USB控制器比较容易,但是要再枚举控制器上的具体设备(磁盘,打印机,扫描仪,等等)可能就比较麻烦,因为USB设备的种类实在是太多了。
在交流中学习。。。
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-01-06 16:49
来晚了,分分光了
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
游客

返回顶部