ниже использования «CFMutableDictionaryRef» с «IORegistryEntryFromPath», «IORegistryEntryCreateCFProperties» и «CFDictionaryApplyFunction», вы получите блок, содержащийся в «платформе», в которой он отсортировал каждый элемент со строкой преобразования или данными. Это то, что существует с ioreg .c в очень легкой форме
void getsystemuuid()
{
io_registry_entry_t service = 0;
struct options options;
CFMutableDictionaryRef properties = 0;
kern_return_t status = KERN_SUCCESS;
service = IORegistryEntryFromPath(kIOMasterPortDefault, "IODeviceTree:/efi/platform");
status=IORegistryEntryCreateCFProperties( service,&properties,kCFAllocatorDefault,kNilOptions );
if (status)
goto sortie;
CFDictionaryApplyFunction(properties, showitem,&options.depth);
sortie:
CFRelease(properties);
IOObjectRelease(service);
}