gpt4 book ai didi

macos - 无法编辑 IORegistryEntry

转载 作者:行者123 更新时间:2023-12-03 16:44:50 25 4
gpt4 key购买 nike

我正在 Mac 上创建一个软件,我想更改 IORegistryEntry 的值。我可以在 IORegistryExplorer 上查看它,但无法编辑它。所以我的理解是我必须通过代码来编辑它。这是我的代码:

CFMutableDictionaryRef matchingDict = IOServiceNameMatching("AppleUSBMultitouchDriver");
io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, matchingDict);
if(service) {
CFStringRef manufacturer = IORegistryEntryCreateCFProperty(service, CFSTR("Manufacturer"), kCFAllocatorDefault,0);
NSLog(@"%@", (NSString*)manufacturer);
kern_return_t err = IORegistryEntrySetCFProperty(service, CFSTR("Manufacturer"), CFSTR("test"));
NSLog(@"error = %d", err);
}

这将输出

2010-04-10 16:09:09.015 Test[41548:a0f] Apple Inc.
2010-04-10 16:09:09.015 Test[41548:a0f] error = 0

但是当我检查 IORegistryExplorer 中的值后,它仍然没有改变。有人有什么建议吗?

谢谢

最佳答案

为了实现这一点,您要更改的特定硬件的驱动程序通常必须实现 setProperties()(在 IOKit 中)来为您进行更改。

Apple 不太可能在其 AppleUSBMultitouchDriver 中以允许您更改制造商名称的方式实现 setProperty()。他们想具体说明它们是什么种类的水果。 ;)

关于macos - 无法编辑 IORegistryEntry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2615039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com