我正在尝试使用IOKit框架获取设备的IODeviceTree路径。我可以使用以下代码获取设备的IOService路径(IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@B/AppleMCP79AHCI
):
CFMutableDictionaryRef matchingDict = NULL;
matchingDict = IOServiceMatching("AppleMCP79AHCI");
io_service_t sataService;
io_string_t path;
sataService = IOServiceGetMatchingService(kIOMasterPortDefault, matchingDict);
IORegistryEntryGetPath(sataService, kIOServicePlane, path);
NSLog(@"%s", path);
但是,我需要在
IODeviceTree
平面中获取设备的路径。在IODeviceTree
平面中,路径类似于IODeviceTree:/PCI0@0/SATA@B
。我尝试将kIOServicePlane
替换为kIODeviceTreePlane
,但未返回任何内容。我没有IOKit
的经验,所以我可以肯定我在这里做的事情很明显。谢谢
最佳答案
弄清楚了,我只是使用了IODeviceTree中不存在的类名。