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

Était-ce utile?

La solution

figured it out, je viens d'utiliser un nom de classe qui n'existait pas dans le IODeviceTree.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top