c++ - IOKit 和获取唯一 ID

标签 c++ macos iokit

我正在使用:IOServiceGetMatchingServices

kr = IOServiceGetMatchingServices(kIOMasterPortDefault,
IOServiceNameMatching("AppleUSBEHCI"), &io_objects);

我正在寻找如何找到有关内部 HD 的信息,因为上述内容可能会检测 USB 设备。

我似乎找不到一个列表或任何可以告诉我这一点的东西。

本质上,我正在寻找一种从系统中获取唯一 ID 的方法。在 Windows 上,其他开发人员使用硬盘 ID。

谁能阐明这些值(value)观?

最佳答案

我相信您想做的是查看设备描述符并查看它是否有序列号。由设备提供序列号,即使提供了序列号也可能不是唯一的。如果设备有自定义描述符,其中也可能有用。

请参阅以下描述符: http://www.beyondlogic.org/usbnutshell/usb5.shtml

在 HID 设备包装器类上似乎有一个获取序列号的属性:

https://developer.apple.com/library/mac/#documentation/IOKit/Reference/IOHIDBase_header_reference/Reference/reference.html#//apple_ref/doc/uid/TP40012400

如果这不起作用,应该有一种方法可以直接访问 USB 设备并请求您需要的数据。

关于c++ - IOKit 和获取唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15211748/

相关文章:

c++ - 使用 TColorListBox 更改矩形的颜色

c++ - 在文本文件中移动 C++

c++ - IOUserClientMethodArguments 完成值始终为 NULL

macos - 使用 kIOHIDOptionsTypeSeizeDevice 时,击键不会被阻止,并且仍会传递到操作系统

macos - 如何从 IOKit 读取 IORegistry 中属性的类型?

c++ - C 函数 'void msgBox(const char*, const char*)' 的声明与之前的声明冲突

C++ : Cookie not stored in one machine, 但存储在另一个

php - WordPress 本地主机 ftp

ruby - 学习 MacRuby 的好资源

css - Cocoa Webview - 只显示特定的 <div>