我在 Mac OS 上有两个 HID 设备引用 (IOHIDDeviceRef
)。如何确定它们是否指向同一物理设备?
奖励积分: 哪些属性可用于识别设备是否已重新连接或新设备。
最佳答案
对于每个 HID 设备引用,调用 IOHIDDeviceGetService
来检索 IOService
引用。每个 IOService 实例(从技术上讲,是其父类(super class) IORegistryEntry 的实例)都有一个唯一的“条目 ID”,可以通过 IORegistryEntryGetRegistryEntryID() 查询。如果对应于 HID 设备引用的两个 io_service_t 对象上的 Entry ID 匹配,则它们引用同一设备。
断开连接和重新连接会更改条目 ID,因此您将无法判断它是否与之前通过此方法连接的设备相同。如果底层 USB 或蓝牙设备有序列号,您可以将其与供应商和产品 ID 等结合使用。
关于macos - 有没有办法确定两个 IOHIDDeviceRef 是否属于同一设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33525636/