複数のカメラをプログラムで区別する確実な方法はありますか?CLSID_VideoInputDeviceCategoryを列挙してから、各IMonikerでGetDisplayNameを列挙します。私が見つけたのは、一部のカメラを別のUSBソケットに接続すると、異なる一意のIDが返されることです。つまり、別のソケットに接続された同じカメラは、異なる時間に接続された複数のカメラと見なされます。異なるUSBソケットに接続されている他のカメラは、同じGetDisplayNameで識別されます。その上、私は2台の同じカメラ(Microsoft LifeCam HD-3000)を持っており、同じソケットに異なるハードウェアピースを差し込むと、どちらのハードウェアピースが挿入されたかの違いがわかりません。
それで、同じUSBポートに接続した場合、複数の同一のカメラの違いを実際に見分ける方法はありますか?そして、関連する逆の質問:別のUSBソケットに接続したときに同じカメラを識別するにはどうすればよいですか?