如何在C++中找到连接到USB端口(HID或磁盘驱动器)的设备
How to find what device is connected to USB port (HID or Disk drive) in C++
我已经使用SetupDi调用枚举了所有连接的USB端口。此链接提供示例代码。
请任何人告诉我如何找到连接到USB端口的设备,比如它是任何HID设备还是任何磁盘驱动器?
谢谢。
我建议查看WDK中的USBView示例。如果你不熟悉这一点,只需运行它——这个工具会遍历系统上的整个USB树,并打印出每个设备的信息和描述符列表。
在您的情况下,我将从这个示例中的RefreshTree()函数开始,然后您可以按照代码来查看它是如何枚举主机控制器、集线器以及最后的设备的。对于找到的每个设备,您可以查看接口描述符中的bInterface Class,以了解它正在宣传的接口类型(在您的情况下,0x03表示HID接口类,0x08表示大容量存储类)。
获取此示例源代码的最简单方法是安装7.1.0 WDK,该WDK目前在这里可用:http://www.microsoft.com/en-us/download/details.aspx?id=11800
相关文章:
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- 用于窗口的 HID 终端
- 根据 GetLastError 直接写入磁盘会导致错误代码 5
- 在QTreeView中仅显示共享驱动器和文件夹
- 如何集成 HID USB 控制器?
- 矢量和其他容器如何在磁盘上工作?
- 如何从整个磁盘中排除要装载的一个文件
- 如何将 IPropertyBag 保存到磁盘
- 防止临时对象文件访问 MSVC 中的磁盘
- 即使使用 FILE_FLAG_DELETE_ON_CLOSE 属性创建文件,文件也会保留在磁盘上
- QT MYSQL 驱动器构建,未定义对"mysql_get_client_version@0"的引用
- Linux 源代码中普通磁盘文件的"轮询"功能在哪里实现?
- 文件删除(使用取消链接)与释放所有磁盘空间之间的延迟
- 插入加密的 USB 驱动器后,如何使用 WMI 查找"启动器"逻辑磁盘?
- 挂载文件系统和挂载磁盘驱动器有什么区别
- 如何在C++中找到连接到USB端口(HID或磁盘驱动器)的设备
- Windows XP:如何从磁盘驱动器号获取USB设备位置
- 如何在C/ c++中获取磁盘驱动器序列号?
- Visual Studio - 通过 VS 6.0 执行 CL.EXE C++会导致"驱动器中没有磁盘"。<损坏的驱动器名称>