我在Mac OS X,的IOService的一个子类的基于由于IOKit-内核扩展。当该服务的负载,我需要从它发布的是其他特定的运行信息,我需要的是从用户空间访问,无需做一些具体的IOUserClient请求。在考虑中的信息基本上字段\值对和它的格式是KEXT和它的用户空间包装库之间共享。内容将随着时间的推移在服务里面的一些特定事件时,它是积极的改变。

在Linux的我将不得不在/ proc文件系统中的文件来实现这一点。你可以建议在OS X上类似的策略?也许一些有关IORegistry?

感谢您。

有帮助吗?

解决方案

嗯,这被证明是相当容易的。 你由于IOKit服务(eventially)从IOService类,而这又是从IORegistryEntry继承,它代表了IORegistry服务条目的一个实例,并提供了一系列的setProperty \的getProperty方法来添加\变更\删除IORegistry你自己的属性继承进入为您服务。

在IORegistry在内存数据库是当然编程方式从用户空间,你搜索一下你的服务的条目,由它出版的读出的信息访问。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top