是否有可靠的方法以编程方式区分多个相机?我枚举 CLSID_VideoInputDeviceCategory,然后在每个 IMoniker 上获取显示名称。我发现有些相机将它们插入不同的 USB 插座会返回不同的唯一 ID,也就是说,插入不同插座的同一个相机被我的程序视为在不同时间连接的多个相机。插入不同 USB 插座的其他摄像头使用相同的 GetDisplayName 进行标识。最重要的是,我有两个相同的相机(Microsoft LifeCam HD-3000),当我将不同的硬件插入同一个插座时,我无法区分插入的是哪个硬件。
那么,如果我将多个相同的相机插入同一个 USB 端口,有没有办法真正区分它们?以及相关的反向问题:当我将同一台相机插入不同的 USB 插座时,如何识别它?