Obtenir chemin IODeviceTree à l'aide IOKit
Question
Je suis en train de faire le chemin IODeviceTree d'un dispositif utilisant le cadre IOKit. Je suis en mesure d'obtenir le chemin IOService (de IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@B/AppleMCP79AHCI
) de l'appareil en utilisant ce code:
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);
Cependant, je dois obtenir le chemin de l'appareil dans le plan de IODeviceTree
. Dans le plan IODeviceTree
, le chemin serait quelque chose comme IODeviceTree:/PCI0@0/SATA@B
. J'ai essayé de remplacer simplement kIOServicePlane
avec kIODeviceTreePlane
mais rien retourné. Je n'ai aucune expérience avec IOKit
, donc je suis assez sûr Theres quelque chose d'évident que je fais ici.
Merci
La solution
figured it out, je viens d'utiliser un nom de classe qui n'existait pas dans le IODeviceTree.