我订阅像这样的usb插入事件
select * FROM __INSTANCECREATIONEVENT WITHIN 3 WHERE TARGETINSTANCE ISA Win32_DiskDrive
插入usb闪光灯后,它每隔3秒闪烁一次。这是轮询间隔和内部事件通过轮询查询中的对象来工作。现在,我们知道这些类型的事件可能是资源昂贵的。 (将值设置为大于3有时会阻塞这些事件,并且客户端程序不会得到通知)。
还有其他方法可以做到这一点,以便usb不会一直被扫描吗? 可能有一些外在事件可用吗?
现在,我看到的唯一解决方案就是取消订阅上面的事件,一旦它触发并在__INSTANCEDELETIONEVENT处理程序中重新订阅它。嗯,虽然deletionevent也会轮询磁盘驱动器控制器(
答案 0 :(得分:1)
设备通知的另一种机制是RegisterDeviceNotification,您可以在此处阅读:http://msdn.microsoft.com/en-us/library/aa363432.aspx