代码之家  ›  专栏  ›  技术社区  ›  Dark Star1

如何检测连接到系统的设备何时可以使用?

  •  0
  • Dark Star1  · 技术社区  · 14 年前

    如果这和之前的问题类似,我很抱歉,但这是我刚刚注意到的。 我可以检测我的设备何时连接到系统(通过USB)并正确捕获消息,但是如果我拔下并插回设备,尝试通过 CreateFile() 函数始终返回错误: 错误\发电机故障31(0x1F) 也就是说- 连接到系统的设备不工作 但是,在收到 DBT设备竞争对手 消息 microsoft's 自己的定义说 设备或介质已插入,现在可用 “。我相信这里所发生的错误更多地与设备未准备就绪有关,即使报告为已准备就绪,因为如果我再次枚举系统上的设备列表,则设备已准备就绪。有没有其他人遇到过这个问题?或者有什么东西我遗漏了/忽略了?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Brad Cunningham    14 年前

    处理这个问题的最简单方法是通过wmi。

    请参见这里: http://dotnetslackers.com/community/blogs/basharkokash/archive/2008/02/06/usb-port-insert-remove-detection-using-wmi.aspx

    我以前用过wmi来检测USB驱动器,它非常简单,回调让事情变得非常干净。