阅读:1938回复:10
windows下的“拔出或弹出硬件”做了什么操作?能让u盘安全的拔出?
windows下的“拔出或弹出硬件”做了什么操作,能让u盘安全的拔出?
我已经用坏2个u盘了,现在还不知道原因,可能是因为在我的usb 主机上时,没有断电就直接把设备拔出来造成的,所以想实现这个功能。 可想不通windows 是怎么实现的? |
|
沙发#
发布于:2004-12-25 13:19
windows下的“拔出或弹出硬件”做了什么操作,能让u盘安全的拔出? 现在U盘质量很差的 |
|
|
板凳#
发布于:2004-12-26 11:56
windows下的“拔出或弹出硬件”做了什么操作,能让u盘安全的拔出? “安全删除设备”的动作,其实就是会调用驱动里的 CLOSE ,还有就是Dispatch PNP里的IRP_MN_REMOVE_DEVICE和IRP_MN_STOP_DEVICE,然后你拔出设备的时候,就会调用UNLOAD例程,这样驱动就可以安全结束。 至于你说的用坏u盘,应该是你把u盘里的文件系统块搞坏了,导致系统识别不出来,一般只要用u盘控制芯片的制造商用flash初始化程序初始化flash就可以啦~~ |
|
地板#
发布于:2004-12-26 12:03
我想不一定非要跟windows做成一样,只要能够确定拔出设备之前,设备没有在“忙”,就可以安全的拔出了.......
|
|
地下室#
发布于:2004-12-26 19:26
请问楼上你说的没有在忙是不是只要没有在读写就行啊。
不用非得把这个端口power off。 |
|
5楼#
发布于:2004-12-27 15:13
是啊,因为有操作的时候,突然断电,就可能导致操作失败.所以,可以发个CBW下去,看看设备有没有响应就可以知道在不在忙拉...
|
|
6楼#
发布于:2004-12-27 15:17
是啊,因为有操作的时候,突然断电,就可能导致操作失败,一些暂存的信息就会丢失.所以,可以发个CBW下去,看看设备有没有响应就可以知道在不在忙拉...应该不用非得把设备poweroff.
不知道你的host在哪个操作系统下啊?应该都有安全删除设备的方法的. |
|
7楼#
发布于:2004-12-27 16:23
host 驱动是自己写的,现在就是想实现。
目前估计 windows 仅仅是把设备所在的端口 disable 了。 |
|
8楼#
发布于:2004-12-27 21:15
这个没有仔细跟踪过,不太清楚了 。。。。
|
|
9楼#
发布于:2004-12-28 07:50
放分了~
|
|
10楼#
发布于:2005-01-02 12:40
楼主你好:
小弟我也想作个USB主机可是水平太有限,不知道从何下手,希望能得到点高手指点。 小弟的QQ 是173260566。 大侠的呢? 恭候大侠的真传。 小弟感激不尽。 |
|