2

我有一个 USB 设备,我开发了一个无代码 kext 来防止 OS X 抢先捕获它。kext 只是使设备与 IOBluetoothFamily.kext 中的不同 kext 匹配。

当我执行以下操作时,我注意到一个奇怪的行为:

  • 重新启动只是为了清除 IO 注册表。
  • 启动 IORegistryExplorer。
  • 插入设备,获取:已注册、已匹配、活动与保留 10、忙碌 0。
  • 拔下设备,条目变为红色(已终止的对象)。
  • 更新注册表:终止的对象仍然存在(如预期的那样)。此外,未终止的对象显示与终止的对象相同的内容,除了未注册、未匹配、未激活、保留 4、忙碌 2。
  • 清除终止的对象 - 只有红色条目会消失。另一个条目仍然存在。

我没有运行任何其他可以访问该设备的应用程序。

我匹配的kext可能有错误吗?

4

1 回答 1

1

根据我的经验,IORegistryExplorer(和 USB Prober)倾向于使对象保持活动状态(通常无法卸载 kexts),关闭 IORegistryExplorer 往往会解决问题。

于 2011-10-05T17:40:33.320 回答