Domanda

Sto cercando di ottenere il percorso IODeviceTree di un dispositivo utilizzando il framework IOKit. Sono in grado di ottenere il percorso IOService (IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@B/AppleMCP79AHCI) del dispositivo utilizzando questo codice:

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);

Tuttavia, ho bisogno di ottenere il percorso per il dispositivo nel piano IODeviceTree. Nel piano IODeviceTree, il percorso sarebbe qualcosa di simile IODeviceTree:/PCI0@0/SATA@B. Ho provato la semplice sostituzione kIOServicePlane con kIODeviceTreePlane ma ha restituito nulla. Non ho esperienza con IOKit, quindi sono abbastanza sicuro che theres qualcosa di ovvio che sto facendo qui.

Grazie

È stato utile?

Soluzione

capito, stavo solo utilizzando un nome di classe che non esisteva nel IODeviceTree.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top