如何判断并访问usb接口的移动硬盘?

aliaoz 2005-10-17 02:06:49
各位大虾 :如何判断一个储存设备是usb接口的移动硬盘呢?
...全文
208 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
e4snake 2005-10-18
  • 打赏
  • 举报
回复
判断盘的属性.是可移除磁盘就是usb磁盘
rainstormmaster 2005-10-18
  • 打赏
  • 举报
回复
首先我们要得到系统中所有物理设备和所有卷设备的信息,这是通过SetupAPI族实现的:SetupDiGetClassDevsW、SetupDiEnumDeviceInterfaces和SetupDiGetDeviceInterfaceDetailW。这些信息中,我们关系的是物理设备对象的名称。
得到这些信息后,我们针对每个物理设备,搜寻和它对应的卷设备,如果相对应,我们再进一步得到当前卷的别名,这可以通过两次反查DOS符号连接实现(QueryDosDeviceW)。至于怎么反查,可以这样做,先定义一个足够大的宽字符vector,然后先调用一次QueryDosDeviceW得到所有当前存在的DOS设备名称(指定第二个参数为NULL即可),然后依次取出一个DOS设备名称,查询其物理设备名称,看是否和我们当前要找的设备相匹配。
因为一个卷设备可以对应多个别名,其中必有一个是它的盘符,笨办法可以用字符串搜索,看别名长度是否为2,后一个字符是不是为冒号:。这样就找到了USB硬盘的盘符。

判断出盘符后,访问就比较容易了吧,用一般的文件读写操作应该就可以了
上官云峰 2005-10-17
  • 打赏
  • 举报
回复
不清楚,帮你顶

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧