windows - 从 DevicePath 中提取 USB PID VID

标签 windows usb pid wdm wdf

当使用 SetupDiGetDeviceInterfaceDetail 检索与连接的 USB 设备相关的 SP_DEVICE_INTERFACE_DETAIL_DATA 时,将返回一个名为 DevicePath 的字符串。

返回的字符串格式如下例:

\?\usb#vid_abcd&pid_1234#000000000#{xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

问题:此字符串的格式/语法是否在任何地方记录和/或已知在所有版本的 Windows XP/Vista/7/8 中都可靠?

我正在尝试使用代码从该字符串中提取 VID 和 PID 值,以便识别所引用的设备,并且想知道这是否是检索 VID 和 PID 值的可靠方法。

最佳答案

虽然您可能会发现仅解析设备路径来获取此信息很容易,但从技术上讲这是非法的,因为 Windows 中的设备路径应该是不透明的。

看看 usbview示例以查看执行此操作的正确方法。

关于windows - 从 DevicePath 中提取 USB PID VID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20570151/

相关文章:

unix - unix 进程正在使用的文件

c++ - GDB——尝试定位本地主机时为 "Operation not permitted"

windows - 在Windows上启动Docker构建时的问题

windows - MinGW Make 抛出 "The system cannot find the path specified."错误

python - 如何检查文件夹是否是任何连接点的目标?

C 子进程创建

macos - 如何使用 Cocoa 或其他任何工具在 Mac OS X 10.6 上同时使用 USB 扬声器和内置音频扬声器?

linux - 如何定义设备标签名称,g_mass_storage 模块

使用wireshark进行USB嗅探

bash - 通过 ssh 获取以 nohup 启动的进程的 PID