摄像头DirectShow获得的"DevicePath"唯一标识字符串和设备ID不一致?

jannl 2011-06-28 12:23:34
在调用DirectShow的CLSID_VideoInputDeviceCategory,发现获得的“DevicePath”和设备ID不一致,这个很奇怪啊。设备ID就是系统设备管理器里的“设备范例ID”。按理说区分不同的USB设备可以根据设备ID区别,其是唯一的,一直以为“DevicePath”获得的值是设备ID,但是发现根本不同啊,难道是字符类型不对?是VARIANT类型的问题?设备ID应该都是Unicode字符

“DevicePath”获得的唯一标识字符串
"\\?\usb#vid_0c45&pid_62c0&mi_00#6&1256912e&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"

这个是拦截WM_DEVICECHANGE消息(USB插拔消息)后,得到的设备ID
"\\?\USB#Vid_0c45&Pid_62c0#5&21e739f&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}"

设备管理器里的设备范例ID是这个
"USB\VID_0C45&PID_62C0\5&21E739F&0&1"

如果不同,有没有什么办法可以通过“DevicePath”获得"设备范例ID"?
...全文
342 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧