阅读:1467回复:8
关于USB意外拔出的问题?用户被禁言,该主题自动屏蔽! |
|
沙发#
发布于:2005-03-25 20:59
响应WM_DEVICECHANGE消息就可以了
|
|
驱动老牛
![]() |
板凳#
发布于:2005-03-27 14:12
响应WM_DEVICECHANGE消息就可以了 真的吗? 我试了,不是得到这个消息,而是不让它弹出不行吧。 我也极其想知道,可以交流一下。 |
|
地板#
发布于:2005-03-27 19:31
写个filter
把caps->SurpriseRemoveOk设置成TRUE就行了 |
|
地下室#
发布于:2005-03-27 22:29
用户被禁言,该主题自动屏蔽! |
|
驱动老牛
![]() |
5楼#
发布于:2005-03-28 13:42
写个filter 那样的话 提供无驱的设备就没什么意思了,能不能直接通过硬件实现。 |
|
6楼#
发布于:2005-03-28 16:51
很不幸.....
不能用硬件实现 这个值的设置是由设备的function device来完成的 而且默认值应该是FALSE(usbhub的相关函数在这个值的初始值是TRUE的时候会有一个警告被dbgprint出来,当然你得打开某些debugprint得开关,自然得是一个checked build) 对于不同得设备class,这个值会被设置成不同得值 比如mouse比如camera比如keyboard就设置成了TRUE 而storage却不去碰他,然他保持在FALSE 而且修改是没有理由的 不依靠设备返回的某个值.. 他的语意很简单 mouse类的usb设备就是能surprise remove 但是storage类的设备就是不能surprise remove 规定而已...不依赖设备的其他属性 也可以不写filter 但是你得修改设备得inf文件.重新安装这个设备驱动程序. windows有提供重载的机制... 其实所有的usb设备都是可以surprise remove的.这是协议规定的 至于为什么windows要你的u盘使用safely remove.. 不是怕你的u盘损坏(那些损坏的u盘是质量不过关的.不符合usb规范的垃圾产品)而是怕数据丢失...因为有软件层次的cache存在 |
|
7楼#
发布于:2005-03-29 13:02
非常不好意思
我上面说错了 windows提供重载得device type跟device characteristics这些属性 caps似乎是没有提供重载得机制(小声的不确定的说-_-#) |
|
驱动老牛
![]() |
8楼#
发布于:2005-03-29 18:24
非常不好意思 不过看来不做驱动要想把这个对话框搞掉有点难度。 |
|