我在Mac OS上有两个HID设备引用(IOHIDDeviceRef
)。如何确定它们是否指向同一物理设备?
奖励积分: 如果设备重新连接或新设备,可以使用哪些属性来识别设备。
答案 0 :(得分:2)
对于每个HID设备参考,请致电IOHIDDeviceGetService
以检索IOService
参考。每个IOService实例(从技术上讲,它的超类IORegistryEntry的实例)都有一个唯一的"条目ID"可以通过IORegistryEntryGetRegistryEntryID()
查询。如果条目ID与对应于HID设备引用的两个io_service_t对象匹配,则它们引用相同的设备。
断开连接并重新连接会更改条目ID,因此您无法判断它是否与先前通过此方法连接的设备相同。如果底层USB或蓝牙设备有序列号,您可以将其与供应商和产品ID等结合使用。