Erste IODeviceTree Pfad IOKit
Frage
Ich versuche, den IODeviceTree Pfad einer Vorrichtung zu erhalten, die IOKit Framework. Ich bin in der Lage, den IOService Pfad (IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@B/AppleMCP79AHCI
) des Geräts mit diesem Code zu bekommen:
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);
Ich brauche aber den Weg für das Gerät in der IODeviceTree
Ebene zu bekommen. In der IODeviceTree
Ebene würde der Weg so etwas wie IODeviceTree:/PCI0@0/SATA@B
sein. Ich versuchte einfach kIOServicePlane
mit kIODeviceTreePlane
ersetzen, aber es gab nichts zurück. Ich habe keine Erfahrung mit IOKit
, also bin ich ziemlich sicher, dass es etwas gibt, offensichtlich, dass ich hier mache.
Danke
Lösung
es herausgefunden, ich hatte nur einen Klassennamen verwenden, die nicht in der IODeviceTree noch nicht gab.