c3hong
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2010-08-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望11点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1786回复:5

如果通过USB 设备找到对应的盘符?

楼主#
更多 发布于:2007-01-29 20:32
  现在有个问题就是U盘插入后如果通过设备ID或句柄来获得其对应的盘符?
一开始以为很简单,找找注册表就可以了.结果发现注册表并没有这个联系可找.
搜了一下以前的,好像都没有具体的解决方法.
各位老大,支支招.或说个大概思路,谢了.
hulongzhuo
驱动牛犊
驱动牛犊
  • 注册日期2007-01-07
  • 最后登录2007-02-16
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-02-15 19:58
想知道啊?
mikehan
驱动牛犊
驱动牛犊
  • 注册日期2004-06-14
  • 最后登录2010-03-22
  • 粉丝0
  • 关注0
  • 积分619分
  • 威望81点
  • 贡献值0点
  • 好评度67点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-02-24 10:05
For (disk=’c’  to ‘z’)
{
    If (是Remove Disk)
    {
      通过deviceIOControl向设备发送Inquiry命令,自己的usb device对Inquiry的响应有对应的VID, PID可作为身份的验证。
      If ( VID&PID是自己的設備)
            Return disk;
}
}
ytwei
驱动小牛
驱动小牛
  • 注册日期2005-04-01
  • 最后登录2010-07-30
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望102点
  • 贡献值0点
  • 好评度85点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-02-26 10:22
上面是一个简便的方法,但是最好是用于自己的硬件,在Inquiry返回数据加上特定的标识来辨认设备。从注册表里关联是很麻烦的,有兴趣的话可以给我发EMAIL索取原理说明:ytwei@tom.com
pilixuanke
驱动中牛
驱动中牛
  • 注册日期2005-10-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1018分
  • 威望626点
  • 贡献值0点
  • 好评度512点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-02-26 15:29
通过WM_DEVICECHANGE可以得到盘符。
向底层开发进军!!!
mikeyredmoon
驱动牛犊
驱动牛犊
  • 注册日期2007-07-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分271分
  • 威望55点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-10-23 18:45
我想在wm_devicechange的时候作上述的判断,但是如果是设备连接消息,收到这个消息的时候,
对应的盘还没有mount上,用上面方法打不开对应的磁盘设备阿,而收到设备切断消息的时候
对应的盘已经被删除掉了,还是打不开,有其他的办法把USB设备ID对应到盘符没有啊
游客

返回顶部