我正在使用 .NET Framework v3.5 开发 C# windows 应用程序。
每个 USB 设备都应该有一个唯一的实例 id,将它与计算机上相同类型的其他设备区分开来。
在设备InstanceID不唯一的情况下,PnP管理器修改InstanceID,并将其与对应的DeviceTypeID结合,创建一个在系统中唯一的设备实例ID。
我需要确定 USB设备实例 ID在系统范围内是否唯一。
我可以使用IRP_MN_QUERY_CAPABILITIES来检索设备功能,然后检查DEVICE_CAPABILITIES的 UniqueID 成员 以指示实例 ID 在系统中是否唯一。
我的问题是:
- 如何在 c# 中使用IRP_MN_QUERY_CAPABILITIES
- 是否有关于如何使用此查询的 C++ 示例代码?
- 有没有其他方法可以知道实例 ID 是否不唯一?