阅读:5243回复:5
DBT_DEVNODES_CHANGED的问题 急问
我检测到 如果直接拔掉usb ,那么系统只会广播一个wm_devicechane,里面是DBT_DEVNODES_CHANGED,但是我在桌面右下角的状态栏中点击usb设备图标,选中设备,然后点击“关闭”时,系统就会有一个DBT_DEVNODES_CHANGED事件,然后在拔出设备的时候,又有一个DBT_DEVNODES_CHANGED,请问这是怎么一回事情啊?
怎么样才能够标示着两个事件的不同,现在我没有好的办法通过DBT_DEVNODES_CHANGED来区别者两个事件阿 急救 |
|
沙发#
发布于:2002-11-11 20:08
直接拔出只有 remove 信号,
后者则分别为 stop,remove 信号. 你可以驱动中区分啊 |
|
|
板凳#
发布于:2002-11-11 20:11
前者 surprise remove 更贴切一些
|
|
|
地板#
发布于:2002-11-13 10:35
能不能讲得更加详细一些? 我对硬件驱动不是很懂,所以我想从操作系统的角度来分析这个问题,我想通过winndows的消息机制来去区分这两个事件。
我对你讲的不是很清楚,能不能具体介绍一下? |
|
地下室#
发布于:2002-11-15 00:49
你为什么要管它?
|
|
|
5楼#
发布于:2002-11-15 09:09
只要RegisterDeviceNotification成功插拔时就应该会得到如DBT_DEVICEARRIVAL,DBT_DEVICEREMOVECOMPLETE事件,我试了一下如果RegisterDeviceNotification调用不成功则只会有DBT_DEVNODES_CHANGED
|
|
|