如何在 Rust 中检测 USB 插入和移除

问题描述

我正在检查 rust,看看它是否适合我的项目要求。我的要求之一是观察由产品 ID 和供应商 ID 标识的 USB 插入和移除。我发现了两个板条箱 libusb-rsrusb。两者都提供了以下使用示例:

fn main() {
    for device in rusb::devices().unwrap().iter() {
        let device_desc = device.device_descriptor().unwrap();

        println!("Bus {:03} Device {:03} ID {:04x}:{:04x}",device.bus_number(),device.address(),device_desc.vendor_id(),device_desc.product_id());
    }
}

代码遍历所有系统 USB 设备并列出它们的属性。为了观察 USB 插入和移除,我可以每 500 毫秒运行一次代码并检查目标 USB 是否存在或是否被移除。问题是这种方法对我来说似乎是一种解决方法,我认为应该有一些 rust 可以挂钩的操作系统事件,并使 USB 检测更加可靠和高效。那么在 Rust 中最好的方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)