3673|6

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

帮解决者赠送1000分--USB安全移除问题 [复制链接]

有哪位达人知道USB安全删除的机制,点击安全删除后,Windows做了哪些动作。在做加密U盘的开发中,在登录加密盘前加密盘以一种虚拟态显示,登录加密盘后加密盘一实际大小显示,执行了这两种状态切换操作后,USB设备不能安全移除,显示:无法停用通用卷设备,应为某一程序仍在访问他。经检查所有获取到的句柄都释放掉了。

最新回复

恭喜  详情 回复 发表于 2008-7-22 21:31
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
请问你的虚拟态是什么态?呵呵,很含糊。没有那么神秘!

删除设备没有你想的那么复杂,如果你确认所有的句柄都安全释放的话,就看一看你的U盘给出的枚举信息,在设备描述信息中有一个bit指示该设备是否允许安全删除的,首先那个bit要设置正确(好像是对inquery命令的响应数据,你看一看设备规范)。然后在系统运行的过程中,有一条命令是设置设备是否允许删除的,是一条单独的命令。在做文件写入的时候,系统会自动发一条不允许卸载设备的命令,写完文件后,系统会发一条允许卸载设备的命令。

如果都做好了,设备就可以卸载了。

我不做U盘有段日子了,手头资料都打包丢到别处了,不能说得更明确。你研究一下U盘设备的设备规范,看一看inquery等几条标记为M(Mandatory)的命令定义就清楚了。
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
做U盘加密,那就是在U盘上又加了一层协议(硬件或软件实现),密码是否正确由该层进行判断是吧。
那你的错误肯定是由于该层协议误导出了U盘的状态,或者说未能及时更新U盘状态导致的。当USB设备处理完自身的动作后,一定时间内没有接收到HOST新的操作控制指令,那么该设备就可以将自身标志为“可卸载”。这个时间是根据不同的USB设备而不同的。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
对自己不了解的东西不要乱说哦!

引用 2 楼 shuiyan 的回复:
做U盘加密,那就是在U盘上又加了一层协议(硬件或软件实现),密码是否正确由该层进行判断是吧。
那你的错误肯定是由于该层协议误导出了U盘的状态,或者说未能及时更新U盘状态导致的。当USB设备处理完自身的动作后,一定时间内没有接收到HOST新的操作控制指令,那么该设备就可以将自身标志为“可卸载”。这个时间是根据不同的USB设备而不同的。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
也许做的东西不一样吧,我们原来就这么做的,可能用的行业和领域不一样
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

6
 
问题终于解决,原因是传输下去的数据长度为:Long 型,将其改为uLong型就可以了
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
恭喜
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表